Validating Struts 2 Using Annotation

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; } } 
+4
source share
1 answer

You should put validator annotations on the installer as follows

 @RequiredStringValidator(type= ValidatorType.FIELD, message = "The name is required.") public void setUsername(String username) { this.username = username; } 

RequiredFieldValidator checks for null values, but the string field is not null , if empty, use RequiredStringValidator . You must also run the validation interceptor in action.

Also, I think you should carefully read the type conversion used by the framework.

+1
source

Source: https://habr.com/ru/post/1492671/


All Articles