struts2 类型转换器and国际化and主题
在默认的拦截器栈中包含了名为conversionError的拦截器,
如果出现了类型转换错误,该拦截器负责封装fieldError,
?并转向到名为input的逻辑视图。
默认情况下, 错误的提示信息为: Invalid field value for field "age".
如需修改提示信息由如下两种方式:
???????? 1. 在全局资源文件中,提供如下内容xwork.default.invalid.fieldvalue=提示信息
???????? 2. 在Action作用域(*),包作用域以及全局资源文件中: invalid.fieldvalue.域的名字=提示信息
????????
?
编写自定义类型转换器有三种种方式:
???????? 1. 继承ognl.DefaultTypeConverter
?? ??????????? 参看: PointConverter1
???????? 2. 继承StrutsTypeConverter (*)
?? ??????????? 参看: PointConverter2
?? ? 3. ?? 1. 继承com.opensymphony.xwork2.conversion.impl.DefaultTypeConverter
?? ??????????? 参看: PointConverter3
??
??
?
编写完自定义类型转换器后, 我们需要通过配置告诉Struts 2, 有两种方式可完成注册:
??????? 1. 配置全局的类型转换器,在src下新建一个名为“xwork-conversion.properties”的配置文件,
???????????????? 并在文件中加入“待转换的类型的全名(包括包路径和类名)=转换器类的全名”对;
???????? 2. 应用于某个特定类的类型转换器,做法为在该类的包中添加一个格式为
???????? ?? “类名-conversion.properties”的配置文件,并在文件中加入
???????? ?? “待转换的属性的名字=转换器类的全名”对。
?
国际化
???????? 1。 对提示的国际化
?????????????????? getText(key)
???????? 2。 对页面做国际化
?????????????????? <s:text name="title"></s:text>
?????????????????? 可以通过<s:i18n name="mess1">, 指明页面使用哪个资源文件,这个文件不需要注册
?????????????????? <s:property value="%{getText('title')}"/> 可以访问全局资源文件的内容
??????????????????
???????? 全局的资源文件(需要注册)
???????? package级别? baseName: package
???????? Action级别?? baseName: 跟Action同名
???????? Action -- > package? - > 全局的资源文件
????????
主题
???????? 1。
???????? 2。 创建自己的主题? src/? template? / 新建文件夹,该文件夹的名字就是新建主题的名字