Struts2 Validation校验框架错误提示信息的显示位置
Struts2提供了一个校验框架Validation,通过该框架可以仅在配置文件中配置校验字段以及校验规则就可以达到相应校验效果,此篇博客主要探讨Validation的错误提示信息在JSP中的位置。
说明
-
这里提供一个简单登录校验用户名和密码是否为空的例子
-
由于文件目录在说明过程中并不改变,这里先给出
- LoginAction.java内容不改变
package com.test.action;
import java.util.Date;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport {
private static final long serialVersionUID = 1L;
private String userName;
private String passWord;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassWord() {
return passWord;
}
public void setPassWord(String passWord) {
this.passWord = passWord;
}
public String execute() {
return SUCCESS;
}
}
- LoginAction-validation.xml内容不改变(action的名字一定要一致,否则不能拦截成功)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.2//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
<validators>
<field name="userName">
<field-validator type="requiredstring">
<message>用户名不能为空</message>
</field-validator>
</field>
<field name="passWord">
<field-validator type="requstring">
<message>密码不能为空</message>
</field-validator>
</field>
</validators>
1. 放置”标记“集中展示(<struts:fielderror/>
)
首先在jsp文件中引入标签库
然后在想要显示错误信息的地方放置”标记“
接下来完成表单的设计
运行结果:
2. 放置标记准确显示
这种方式显示效果和第三种相同,但是能够自由地指定位置,可认为是第一种方式的定制版
jsp表单设计
运行结果:
3. 使用Struts标签自动定位
jsp表单设计
运行结果:
分析
这里主要介绍了三种方式显示Validation的错误信息显示方式,Validation的原理是由内置的验证拦截器在配置校验规则后,一旦不符合规则,拦截之后返回一个错误集合,如果直接使用<struts:fielderror/>
则遍历错误集合,打印所有信息,如果指定了变量名,<struts:fielderror><struts:param></struts:param></struts:fielderror>
则只打印指定字段的校验错误信息。同时,如果使用了Struts标签构造表单,那么错误信息会默认出现在输入框上方。
原创文章,转载须注明出处:http://blog.csdn.net/drohe/article/details/72972320