Struts2.0类型转换错误提示处理
客户端表单提交----à服务器端类型转换----à输入校验--------àexecute()方法转发
?
?
?
类型转换错误提示处理:
?
在进行类型转换时,如果成功,则开始输入校验,如不成功,则可以进行处理,主要有两种处理方式,局部处理与全局处理(注意:如类型转换不成功,同样会进入输入校验环节):
?
(在strtus2.0中,对一些数据类型已经进行了默认的类型转化工作,如数字类型若不合法,则自动转换为0,日期类型不合法,自动转化为null等)
全局处理:
?
无论哪个action,只要转换出错,都将进行处理
?
1、 ? ? ? ? ? ??
?
此处va
?
修改struts.xml,增加<constant name=”struts.custom.i18n.resources” value=”message(自定义名称,与下文对应)”></constant>
?
2、 ? ? ? ? ? ? ?在src目录中添加相对应的属性文件:message.properties, 并在其中添加类型转换错误的相应提示,格式如下:xwork.default.invalid.fieldvalue={0} error,等号前面的内容是固定的,{0}是指用类型转换错误的字段名进行填充,error是自定义的错误提示文字,这样在进行类型转换错误的时候,系统会将错误的字段填充到fieldError中
?
?
?
局部处理
?
? ? ? 只针对某个设置后的action中的字段,类型转换时进行处理,实际开发中,此种形式用的较多
?
1、 ? ? ? ? ?在对应的action路径下,添加属性文件,如希望对PointAction中的字段进行转换错误提示,则在PointAction所在的包中,添加名为PointAction.properties
?
2、 ? ? ? ? ?在属性文件中输入以下内容:
?
invalid.fieldvalue.age=age is error
?
invalid.fieldvalue.birthday=birthday is invalid
?
invalid.fieldvalue.point=point is invalid
?
?
?
3、页面中使用<s:fieldError/>显示
?
可以做更详细的错误信息展示,例如: <s:fieldError fieldName="age"/>
?
<s:fieldError fieldName="birthday"/>
?
<s:fieldError fieldName="point"/>
?
下面有详细的介绍http://perfectplan.iteye.com/blog/1561783