本人水平有限,有不足之处望个人仁兄提醒。
struts对于表单错误的验证可分为三块:页面js验证,xml配置验证,actionForm里重载validate方法。
后两种都是struts自己的验证框架,前一种的安全性有问题(大家都这么说)。
我重点说一下后两种,后两种方法是不能共用的。如果你只是对数据格式做验证可以用xml,如果是对
较复杂的业务逻辑既可以在你的action类中或actionform中。
1.例子说明如何使用struts验证框架
首先要在struts配置文件中引入
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames"
value="/WEB-INF/config/validator-rules.xml,/WEB-INF/config/validation.xml" />
</plug-in>
也就是验证插件。前一个文件主要是一些struts提供的验证规则,后面一个就是对咱们自己的form属性做
验证规则绑定的文件。其中的错误提示还牵扯到了资源文件,资源文件的引入类似上面
<parameter="config.properties.ApplicationResources" />
<message-resources key="cn"
parameter="config.properties.ApplicationResources_cn" />
<message-resources key="en"
parameter="config.properties.ApplicationResources" />
2.我觉的时候struts的验证太过繁琐我们完全可以在actions中提供一个验证方法来做验证。
只要验证不通过,可以用下面的方式返回
ActionMessages messages = new ActionMessages();
messages.add("页面提示key",new ActionMessage("对应资源文件key",new String[]{""}));
//messages.add("页面提示key",new ActionMessage("对应资源文件key"))
this.saveErrors(request, messages);(action自带的方法)
我们只要在页面上用<html:error property="页面提示key"/> 显示错误提示