struts2与struts1类似,提供了自动验证的机制,当我们自定义Action继承了ActionSupport抽象类后只要覆盖其中的validate方法,即可实现自动验证的功能,代码如下:
继承了ActionSupport抽象类的Action类中:
jsp页面:
struts.xml中:
其他地方不需要更改,页面如下:
总结:
遇到类型转换错误的时候(也就是说不能进行类型转换),struts2框架自动生成一条错误信息,并且将该错误信息放到addFieldError里面
类型转换与输入校验的流程
1. 首先Struts2对客户端传来的数据进行类型转换
2. 类型转换完毕后再进行输入校验
3. 如果类型转换和输入校验都没有错误发生,那么进入execute方法(调用商业逻辑)
注意:如果类型转换不成功,也同样要进行输入校验
注意:
如果表单没有使用struts的标签例如<s:textfield>则要使用专门的错误标签显示错误信息,即加上如下代码:
<s:fielderror></s:fielderror>