Struts2的验证框架常用于应用中的表单验证,在Struts2中,使用验证框架不需要作什么特殊的配置。
当你的某个Action需要使用验证框架时,有以下几点需要注意:
1. 你的Action需要实现 Validateable
2. Action所在的目录里面,需要有一个名为 Action_validation.xml 的配置文件。文件内容可能如下:
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<validators>
<field name="chnlId">
<field-validator type="required">
<message>该项不能为空</message>
</field-validator>
</field>
</validators>
3. 相应的struts config里面的写法是:
<action name="Article" method="list" class="article">
<result name="list">/WEB-INF/article_list.html</result>
<result name="input">/WEB-INF/article_error.html</result>
</action>
这种写法表示你的URL即将进入的是 article_list.html页面,当出现验证失败时,会转入article_error.html页面。
4. 当然,有的时候你并不想在每个Action后面都有一个name 为 input 的 result, 这时, 你可以考虑用一直拦截器来实现将所有的错误结果都导向一个错误显示页面。
或者直接将设置一个全局result如下:
<global-results>
<result name="input">/WEB-INF/common/show_error.html</result>
</global-results>
当你的某个Action需要使用验证框架时,有以下几点需要注意:
1. 你的Action需要实现 Validateable
2. Action所在的目录里面,需要有一个名为 Action_validation.xml 的配置文件。文件内容可能如下:
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<validators>
<field name="chnlId">
<field-validator type="required">
<message>该项不能为空</message>
</field-validator>
</field>
</validators>
3. 相应的struts config里面的写法是:
<action name="Article" method="list" class="article">
<result name="list">/WEB-INF/article_list.html</result>
<result name="input">/WEB-INF/article_error.html</result>
</action>
这种写法表示你的URL即将进入的是 article_list.html页面,当出现验证失败时,会转入article_error.html页面。
4. 当然,有的时候你并不想在每个Action后面都有一个name 为 input 的 result, 这时, 你可以考虑用一直拦截器来实现将所有的错误结果都导向一个错误显示页面。
或者直接将设置一个全局result如下:
<global-results>
<result name="input">/WEB-INF/common/show_error.html</result>
</global-results>