昨天说到输入校验的基本方法,今天学习了如何自定义类型转换错误。
1.如果自定义类型转换错误,需要先在struts.xml定义<constant name="struts.custom.i18n.resources" value="message"></constant>,message是资源文件的文件名,扩展名默认为properties。
2.在src目录下建立message.properties文件,里面为xwork.default.invalid.fieldvalue={0} error
{0}表示那个属性出现错误,比方age出现转换错误会出现age error. 这样是全局定义,下面说局部定义
1.根据类名建立文件:如果类名为registerAction,那么文件名就为registerAction.properties,并且该文件和类在同一个目录。
2.在文件中输入invalid.fieldvalue.age=age conversion error 第一个age是那个属性有转换问题,后面是提示信息,也可以是中文的,需要转换。相当于某个类里面的某个属性如果出现转换错误,给出他们相应的提示。
类型转换与输入校验的流程
1. 首先Struts2对客户端传来的数据进行类型转换
2. 类型转换完毕后再进行输入校验
3. 如果类型转换和输入校验都没有错误发生,那么进入execute方法(调用商业逻辑)
注意:如果类型转换不成功,也同样要进行输入校验