I am studying annotation in Struts 2. A simple check that tries to use @RequiredFieldValidator does not happen, the form sends empty fields. I could not understand this, can someone help me.
My JSP page:
<%@ page contentType="text/html; charset=UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags" %> <html> <head> </head> <body> <h2>Struts 2 - Login Application</h2> <s:actionerror /> <s:fielderror /> <s:form action="login" method="post" namespace="/" > <s:textfield name="username" key="label.username" size="20" /> <s:password name="password" key="label.password" size="20" /> <s:submit /> </s:form> </body> </html>
My action class:
@Namespace("/") @Results({ @Result(name="success", location="/Welcome.jsp"), @Result(name="error", location="/Login.jsp") }) public class LoginAction extends ActionSupport implements ValidationAware { private static final long serialVersionUID = 5271055255991498361L; private String username; private String password; public String execute() { if (this.username.equals("admin") && this.password.equals("admin123")) { return "success"; } else { return "error"; } } @RequiredFieldValidator( message = "The name is required" ) public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } @RequiredFieldValidator( message = "The password is required" ) public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
source share