全局的错误信息显示格式处理
在Struts.xml中定义需要替换错误信息的国际化资源文件
<constant name="struts.custom.i18n.resources" value="message"></constant>
constant 表示常量,在整个项目中你需要的所有的常量,将name和value写下来,这里的设置可以替换掉Struts2内置的一些信息。其中name中的值一定不能错,是固定的。
Message代表I18N资源文件的名字,即message.properties,系统需要的真正文件是在class目录下,所以需要创建在src根目录下。
以下这一行是message.properties的内容:
xwork.default.invalid.fielderror={0} error
理解为:
xWork默认的不合法的属性值={0} error
{0}表示表单中出错的那个标签的name属性值,是一个动态值
该内容定义的是,在类型转换出错时,系统会显示我们自定义的错误信息,“属性名 error”
但是我们一般都不用全局,更多的是针对某一个Action提供相应的错误信息处理。
局部的错误信息处理
将国际化资源文件创建在要验证的Action所在包下,命名也要和该Action类一模一样,其内容如下:
invalid.fieldvalue.age=age conversion error
表示当该Action类中age属性类型转换错误时,提示age conversion error
在Struts2中,如果原始数据类型发生类型转化错误时,那么系统会自动为其设值。Int赋值为0,String设置为null
注意:局部错误信息处理时,不用在Struts.xml中配置constant 信息。