上一次的记录中记录了使用硬编程的方法实现了对action中的所有的方法进行输入验证和对action中的特定的方法进行验证。
这次要记录的是是要xml配置的方式进行输入校验的方式。
public class LoginAction extends ActionSupport{
private String userName;
private String phoneNum;
public String addUser(){
ActionContext.getContext().put("message", "用户添加成功!");
return "message";
}
提供gett/set方法
首先我们在这个类中继承了ActionSupport方法,在者我们没有去重写validate方法。
第二步我们要创建一个校验文件
校验文件的命名规则是ActionClassName-valida.xml,将它放在和ActionClass文件的同一个目录下。
<!DOCTYPE validators PUBLIC
"-//Apache Struts//XWork Validator 1.0.3//EN"
"http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
<validators>
<field name="userName">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>必须填写</message>
</field-validator>
</field>
<field name="phoneNum">
<field-validator type="requiredstring">
<message>必须填写</message>
</field-validator>
</field>
</validators>
对userName和phoneNum进行校验。
这样的xml文件它是会对action中的所有方法进行校验的。
想要对特 定的方法进行校验,校验文件应该是ActionClassName-ActionName-validate.xml文件,这是它的命名规则。
例如LoginAction-login_validate-validate.xml文件
这是struts.xml文件的配置
<action name="login_validate" class="cn.itcast.validation.LoginAction" method="addUser">
<result name="message">/WEB-INF/validate/message.jsp</result>
<result name="input">/login.jsp</result>
</action>
当然要配置input视图和使用<s:fielderrot />显示错误信息。