1.国际化(Internationalization),使程序在不改动代码的情况下,从一种语言切换到另外一种语言
2.java 内置国际化
1.定义国际化文件,
message.properties(没有找到对于国际化,使用此配置)
t1=test1 \u4e2d\u6587-\u4e2d\u56fd,{0},{1} t2=test2 \u4E2D\u6587-\u4E2D\u56FD
message_zh_CN.properties
t1=test1 \u4e2d\u6587-\u4e2d\u56fd,{0},{1} t2=test2 \u4E2D\u6587-\u4E2D\u56FD
message_en_US.properties
t1=test1 en_US,{0},{1} t2=test2 en_US
2.指定当前语言 Locale locale1 = Locale.SIMPLIFIED_CHINESE;
3.获得当前语言的资源 ResourceBundle bundle = ResourceBundle.getBundle("message",locale1);
4.获得当前资源中指定key的值 System.out.println("value:"+bundle.getString("key"));
3.struts2 对国际化提供很好的支持
1.定义国际化文件,同上
2.struts.xml,添加支持<constant name="struts.custom.i18n.resources" value="message"/>
3.可以指定默认使用语言,如<constant name="struts.locale" value="zh_CN"/>
4.页面中引用
普通文本 使用国际化<br /> <s:text name="t1"> <s:param>param1</s:param> <s:param>param2</s:param> </s:text> <br /> <s:text name="t2"/> <hr /> 表单标签 使用国际化<br /> <s:textfield name="name1" label="普通text"/> <br /> <s:textfield name="name2" key="t1"/> <br /> <s:textfield name="name3" key="t2"/>
5.在Action中使用
1.自定义action,继承ActionSupport,更好的使用本地化方法
2.代码如下
public class HomeAction extends ActionSupport { /** serialVersionUID Auto-generated field comment */ private static final long serialVersionUID = 1L; private Logger log = Logger.getLogger(HomeAction.class); public String result = "success"; public String t1; public String t2; public String index() { log.info("start index.jsp"); String[] arr = new String[]{"zhangsan","lisi"}; t1 = this.getText("t1", arr); t2 = this.getText("t2"); //ResourceBundle bundle = this.getTexts("message"); //System.out.println(bundle.getString("c")); return result; } }
6.使国际化生效,可以手动配置,struts.xml默认。还可以修改浏览器器,默认语言首选项。但这些不是太死板,就是太繁琐。struts,提供了request_locale参数可以动态改变语言,第一次请求后会保存在WW_TRANS_I18N_LOCALE,session中
目前为止:简单的国际化可以,如果想把配置文件细分可以,分为,全局级别,包级别,类级别,详细可以参考http://rubbing-struts2.iteye.com/blog/1661482
注意:对于中文文件,要进行unicode 到 asiic 转码,我的所有都统一为utf-8
1.中文资源保存为UTF-8
src_message_zh_CN.properties
t1=test1 中文-中国,{0},{1} t2=test2 中文-中国
2.使用native2ascii.exe -encoding utf-8 src_message_zh_CN.properties message_zh_CN.properties
3.转码后目标文件开头会有一个多余识别码(\ufeff),需要手动删掉。
\ufefft1=test1 \u4e2d\u6587-\u4e2d\u56fd,{0},{1} t2=test2 \u4e2d\u6587-\u4e2d\u56fd
相关推荐
整理struts2国际化例子源码整理struts2国际化例子源码整理struts2国际化例子源码
Struts2国际化的实现原理;简单的struts2国际化实现过程的讲解
struts2国际化 标签 页面 处理类 实例,特殊注意点说明
struts2 国际化
导入相关的jar包,直接发布便可以运行 struts2国际化+简单的标签+用户注册和登录(不实用数据库)
struts2国际化MyEclipse开发struts2国际化MyEclipse开发童叟无欺
struts2国际化ppt和代码,这是上课老师给的课件和案例。可以参考一下适合初学者
struts2 国际化(internationalization,i18n)和本地化(localization,l10n)指让产品(出版物,软件,硬件等)能够适应非本地环境,特别是其他的语言和文化。程序在不修改内部代码的情况下,能根据不同语言及地区显示...
http://blog.csdn.net/liuhongjavaen/article/details/7655385 具体操作事项请查阅博客 struts2国际化源码 eclipse国际化插件
struts2国际化测试小demo
Struts1 和 Struts 2 国际化全局资源,有文档说明、有图形加以说明,还有源代码。
struts国际化的描述,其中包括在配置文件中配置实现,以及在后台中或者是前台中处理实现国际化的过程。
另外,关于struts2国际化乱码问题: 解决方法: 找到jdk的安装目录--C:\Program Files\Java\jdk1.6.0_10\bin(我的安装目录) 在bin里面找到native2ascii.exe并运行 在命令窗口输入 native2ascii -encoding UTF-8 ...
相关的国际化的知识点,写了一个小demo
自己做的一个简单的国际化例子,Struts2框架,myEclipse.
励智教育,struts2国际化处理教程案例及幻灯片,网址:http://www.lizhi.cc
文件的国际化字符串中使用OGNL,格式为${表达式},例如: validation.required=${getText(fileName)} is required 2. 使用java.text.MessageFormat中的字符串格式,格式为{ 参数序号(从0开始), 格式类形(number |...
struts2 国际化 i18n struts2 国际化 i18n struts2 国际化 i18n