分享知识-快乐自己:自定义struts2类型转换的全局与局部错误信息。

遇到类型转换错误的时候(也就是说不能进行类型转换),struts2框架自动生成一条错误信息,并且将该错误信息放到addFieldError里面。我们可以通过配置文件来替换这条由struts2自动生成的错误信息。

类型转换全局 错误信息的设定:

struts.xml 中添加以下代码:

    <constant name="struts.custom.i18n.resources" value="message"></constant>

其中name的值为固定的。value的值表示国际化资源文件的文件名为message.properties。然后要去生成这个message.properties文件,存放目录为classes的根目录。

message.properties

 xwork.default.invalid.fieldvalue={0} error

其中xwork.default.invalid.fieldvalue为固定的,

{0}相当于一个占位符,会被页面表单中元素的名字来填充,是动态的。

整个右边表示当整个项目中任何一个属性转换出问题的话,会显示{0}(即属性的名字)error。

此配置是全局的,会对整个工程中有效。

类型转换局部 错误信息的设定:

RegisterAction.properties

invalid.fieldvalue.age=age is error
invalid.fieldvalue.birthday=/u751f/u65e5/u65e5/u671f/u8f93/u5165/u9519/u8bef
invalid.fieldvalue.graduation=/u6bd5/u4e1a/u65f6/u95f4/u65e5/u671f/u8f93/u5165/u9519/u8bef

文件名与action的名字一样,但扩展名改为properties。存放路径与action相同。其中的age、birthday等与action中的属性名对应,后面为错误提示信息。

实际开发中应尽量使用局部的类型转换信息,而不要用全局的。

原文地址:https://www.cnblogs.com/mlq2017/p/9766787.html