struts2的国际化学习笔记
来源:互联网 发布:淘宝网店商品利润简介 编辑:程序博客网 时间:2024/04/29 18:12
国际化
一.国际化的目标
1. 如何配置国际化资源文件
1) Action 范围资源文件:在Action 类文件所在的路径建立
名为ActionName_language_country.properties的文件
2) 包范围资源文件: 在的根路径下建立文件
名为package_language_country.properties 的属性文件一旦建立,
处于该包下的所有 Action 都可以访问该资源文件,注意报范围资源文件的baseName就是package,
不是Action 的所在包名。
3) 全局资源文件
命名方式:basename_language_country.properties
struts.xml <constant name="struts.custom.i18n.resource" value="baseName"/>
struts.properties struts.custom.i18n.resources=baseName
注意:properties文件里的 key = ?? (key属性值 要和 表单中key 或对应转换的Key 的属性值要一致)
2.如何在页面上和Action类中访问国际化资源文件的value值
1)在Action 类中,若Action 实现了TestProvider接口,则可调用其getTest()方法获取value值
> 通过继承ActionSupport的方式
2)页面上使用 s:test 标签 对于表单标签可以使用表单标签的key属性值
>若有占位符,则使用 s:test 标签的s:param 子标签来补充
>可以利用标签和OGNL 表达式直接访问值栈中的属性值(对象栈和 Map栈)
3.实现通过超链切换语言。
1)关键之处在于知道struts2框架是怎样确定Local对象的
2)可通过阅读i18n拦截器
消息错误显示
<!--
问题1: 覆盖错误显示消息。
(1)在对应的action中创建一个文件名为actionclassname.properties文件。
(2) 加入下键值对:invalib.fieldvalue.fieldName=???
问题2:若是simpie主题
(1)通過debug标签,可知值栈的Action(实现ValidationAwar接口)
对象中一个属性fieldErrors,类型为Map<String,List<String>>,可用OGNL或LE表示。
${fieldErrors.age[0]}(获取第一个字符串),
(2)也可以通过s:fiedlErrors 标签表示,可通过fieldName属性显示指定字段的错误
问题3:若是simple且用<s:fieldErrors fieldName="age"></s:fieldErrors>来显示错误消息。则消息在 ul,li,span中。如何去除
在template.simple下面的fielderror.ftl 定义了simple主题下。s:fielderrors显示错误消息样式,修改配置文件即可。
方法:src下新建template.simple包。新建fielderror.ftl 文件。把原生的fielderror.ftl 内容复制到新建的fielderror.ftl ,剔除ul,li,span即可
问题4:如何自定义类型转换器?
1. (1) 为何?:因为struts2不能自动完成字符串到引用类型的转换
2) 如何定义:
首先定义一个类,继承StrutsTypeConverter(即扩展 StrutsTypeConverter 类)
2. 基于字段配置:
>在字段所在的Model(可能是Action,也可能是一个JavaBean)的包下;新建一个ModelClassName-conversion.properties文件
>在文件中键入键值对:fieldName = 类型转换器的全类名;
3.基于类型的配置
>在src下新建xwork-conversion.properties
>键入:待转换的类型= 类型转换器的全类名;
-->
- struts2的国际化学习笔记
- Struts2学习笔记17:Struts2的国际化
- 学习笔记-------------------struts2国际化
- 国际化---struts2学习笔记
- struts2学习笔记----国际化
- Struts2学习笔记之国际化
- struts2学习笔记6--国际化
- Struts2学习笔记之国际化
- Struts2学习笔记二 国际化
- struts2系列学习笔记(13)---------------Struts2国际化
- 【Struts2学习笔记(12)】Struts2国际化
- Struts2学习笔记4 ――国际化
- Struts2学习笔记之国际化一
- Struts2学习笔记(十)国际化
- Struts2 学习笔记17 I18N国际化
- Struts2学习笔记 国际化(Internationalization)
- struts2学习笔记之九(国际化)
- struts2学习笔记之十八(国际化)
- 习题1-4
- start_kernel函数及init进程创建的简单分析
- HTTPS URL中解析过程中出现的问题
- 051.12
- 进程间通信--管道、命名管道、FIFO
- struts2的国际化学习笔记
- Matlab学习笔记
- Trapping Rain Water
- Java的Timer和TimerTask怎么结束
- spring依赖注入失效或不成功的一种情况和解决办法
- U-BOOT移植过程详解: 附录
- 051.13
- 用FreeGate自由门软件在Linux上更新Android SDK
- linux ext3 ext4 文件系统 rm -rf删除后数据快速恢复