package org.jboss.seam.example.wicket; import org.apache.wicket.markup.html.WebPage; import org.apache.wicket.markup.html.form.Form; import org.apache.wicket.markup.html.form.FormComponent; import org.apache.wicket.markup.html.form.PasswordTextField; import org.apache.wicket.markup.html.form.validation.EqualInputValidator; import org.apache.wicket.markup.html.link.PageLink; import org.apache.wicket.markup.html.panel.ComponentFeedbackPanel; import org.apache.wicket.model.PropertyModel; import org.jboss.seam.annotations.In; import org.jboss.seam.annotations.security.Restrict; import org.jboss.seam.example.wicket.action.ChangePassword; import org.jboss.seam.example.wicket.action.User; @Restrict("#{identity.loggedIn}") public class Password extends WebPage { @In(create=true) private User user; @In(create=true) private ChangePassword changePassword; public Password() { Template body = new Template("body"); body.add(new RegisterForm("setpassword")); add(body); } public class RegisterForm extends Form { private String verify; public String getVerify() { return verify; } public void setVerify(String verify) { this.verify = verify; } public RegisterForm(String id) { super(id); add(new PageLink("cancel", Main.class)); FormComponent password = new PasswordTextField("password").setRequired(true); FormComponent verify = new PasswordTextField("verify").setRequired(true); add(new FormInputBorder("passwordBorder", "Password", password , new PropertyModel(user, "password"))); add(new FormInputBorder("verifyBorder", "Verify Password", verify, new PropertyModel(this, "verify"))); add(new ComponentFeedbackPanel("messages", this)); add(new EqualInputValidator(password, verify)); } @Override protected void onSubmit() { changePassword.changePassword(); setResponsePage(Main.class); } } }