在一些需要数据输入的地方,往往需要对数据进行一些验证,例如是否为空,长度的限制,格式的限制等。
下面来给大家介绍一下在struts2中使用配置文件来实现输入的校验。
配置文件的命名:
根据相应的Action类文件,建立相应的XML配置文件。例如:UserAction类文件,对应的XML配置文件的名称应该为UserAction-Validation.xml。如果需要对指定方法进行验证,命名格式为:ActionClassName-ActionAliasName-validation.xml。其中ActionAliasName指的是Struts.xml中Action name=“XX”的XX名称,不是method=“XX”的名称。
例如:
Struts.xml文件:
<span style="font-size:18px;"> <action name="user_*" class="userAction" method="{1}">
<result name="registPage">/WEB-INF/jsp/regist.jsp</result>
<result name="input">/WEB-INF/jsp/regist.jsp</result>
</action></span>
UserAction-user_regist-validation.xml文件:
<span style="font-size:18px;"><?xml version="1.0" encoding="UTF-8"?>
<!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">
<message>用户名不能为空</message>
</field-validator>
</field>
<!-- 校验密码 -->
<field name="password">
<field-validator type="requiredstring">
<message>密码不能为空</message>
</field-validator>
</field>
<!-- 校验姓名 -->
<field name="name">
<field-validator type="requiredstring">
<message>姓名不能为空</message>
</field-validator>
</field>
<!-- 校验地址-->
<field name="addr">
<field-validator type="requiredstring">
<message>地址不能为空</message>
</field-validator>
</field>
<!-- 校验邮箱 -->
<field name="email">
<field-validator type="email">
<message>邮箱格式不正确</message>
</field-validator>
</field>
</validators></span>
但校验失败的时候,会返回逻辑视图input,因此在struts.xml文件中需要配置<result name="input"></result>。
这样就完成了使用XML配置文件对输入进行校验。