[英]Struts2 Form Validation issue
我正在创建一个简单的登录应用程序作为我的第一个struts2表单验证应用程序。 但是,我无法使验证部分正常工作。 我已经尝试过在Google或Struts文档中可以找到的所有解决方案/示例。 请帮忙.....
这是我的代码
login.jsp
<s:form action="LoginAction" method="post">
<s:textfield name="username" label="Login Name"/>
<s:password name="password" label="Password"/>
<s:submit value="Login"/>
<s:fielderror></s:fielderror>
</s:form>
struts.xml
<action name="LoginAction" class="com.helloworld.action.LoginAction" method="execute">
<result name="input">/login.jsp</result>
<result name="error">/login.jsp</result>
<result name="success">/HelloWorld.jsp</result>
</action>
LoginAction.java
public class LoginAction extends ActionSupport{
private String username;
private String password;
public String execute() throws Exception {
if(this.username.equals("admin") && this.password.equals("admin"))
return SUCCESS;
return ERROR;
}
public void setUsername(String username) {
this.username = username;
}
public String getUsername(){
return this.username;
}
public void setPassword(String password) {
this.password = password;
}
public String getPassword(){
return this.password;
}
}
LoginAction-Validation.xml
<validators>
<field name="username">
<field-validator type="requiredstring">
<message key="user.required"/>
</field-validator>
</field>
</validators>
LoginAction.properties
user.required=UserName is required.
请帮忙...
谢谢
首先让我惊讶的是您的验证文件的名称,即LoginAction-Validation.xml。 我知道该文件名的第一部分区分大小写,但是我不知道第二部分。 尝试将其更改为LoginAction-validation.xml(小写v)。
另外,您能否描述您的构建环境和项目布局? 您是否正在使用Maven进行构建? 验证文件是否与它所引用的动作类在同一目录中?
最后,您使用的是任何自定义拦截器堆栈,还是仅使用默认拦截器堆栈?
请确保您已注册验证器文件,如下所示
<validators>
<validator name="requiredstring" class="com.opensymphony.xwork2.validator.validators.RequiredStringValidator"/>
</validators>
尝试将validate =“ true”添加到表单标签中,因为默认主题为xhtml ...
<s:form action="LoginAction" method="post" validate="true">
<s:textfield name="username" label="Login Name"/>
<s:password name="password" label="Password"/>
<s:submit value="Login"/>
<s:fielderror></s:fielderror>
</s:form>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.