struts——国际化的实现
2011-11-16 14:21
211 查看
我们经常看到有的网站可以选择不同的语言来进行浏览。这就是国际化,struts2为我们提供了国际化功能,可以是我们的web开发很容易的实现国际化。
这里主要是一些struts2学习过程中的一些心得的总结,欢迎大家交流学习http://blog.csdn.net/IAccepted。
我们以英语和汉语双语为例来讲解国际化的实现过程。
1.首先我们要建立两个资源文件。baseName_en_US.properties和baseName_en_US.properties。其中baseName可以为任何名称,但一般以相应的类名作为baseName
这两个资源文件就是国际化中对应的中文和英文对照表。里面存储的是键值对。
以上分别为baseName_en_US.properties和baseName_en_US.properties中的内容。其中baseName_en_US.properties中的内容必须为utf-8格式的文件,所以我们可以借助jdk中提供的工具进行转码,上述为转码后的文档,表示username=用户名
2.在struts.xml中进行国际化文件的配置
这里主要是说明,配置文件的名字是baseName而且此配置文件为全局的,当然这里你也可以为每个相应的包建立资源文件来实现局部国际化。效果相同。
3.将jsp文件中用到“用户名”的地方改为<s:text name="username"/>这样工程就会在这里用相应的资源文件中的内容来显示,如果是中文就会显示用户名,如果是英文就会显示username。
另外还必须注意的是要实现页面显示的国际化,必须先经过action才可以,这主要是因为,struts2中实现国际化的功能被封装在了拦截器中实现。如果不经过action而直接由页面转向页面,则不能实现国际化。
这里主要是一些struts2学习过程中的一些心得的总结,欢迎大家交流学习http://blog.csdn.net/IAccepted。
我们以英语和汉语双语为例来讲解国际化的实现过程。
1.首先我们要建立两个资源文件。baseName_en_US.properties和baseName_en_US.properties。其中baseName可以为任何名称,但一般以相应的类名作为baseName
这两个资源文件就是国际化中对应的中文和英文对照表。里面存储的是键值对。
username=Username
username=\u7528\u6237\u540d
以上分别为baseName_en_US.properties和baseName_en_US.properties中的内容。其中baseName_en_US.properties中的内容必须为utf-8格式的文件,所以我们可以借助jdk中提供的工具进行转码,上述为转码后的文档,表示username=用户名
2.在struts.xml中进行国际化文件的配置
<constant name="struts.custom.i18n.resources" value="baseName"/>
这里主要是说明,配置文件的名字是baseName而且此配置文件为全局的,当然这里你也可以为每个相应的包建立资源文件来实现局部国际化。效果相同。
3.将jsp文件中用到“用户名”的地方改为<s:text name="username"/>这样工程就会在这里用相应的资源文件中的内容来显示,如果是中文就会显示用户名,如果是英文就会显示username。
<form action="Logon" method="post"> <s:text name="username">:</s:text>//这里就会根据语言环境的选择不同而显示不同的内容 <input type="text" name="id"/> <s:text name="pwd">:</s:text> <input type="password" name="pwd"> <input type="submit" value="<s:text name="sub"/>"> </form>4.可以利用url后面添加参数的方法实现自己选择语言。
<li><a href="ShowStudent?request_locale=zh_CN">学生信息管理</a></li> <li><a href="ShowStudent?request_locale=en_US">Student Management</a></li>这里传递的参数会被存储在session范围内,以后你每次显示的网页都会根据request_locale这个参数的值进行语言的选择,这个过程是自动的不用人为实现。
另外还必须注意的是要实现页面显示的国际化,必须先经过action才可以,这主要是因为,struts2中实现国际化的功能被封装在了拦截器中实现。如果不经过action而直接由页面转向页面,则不能实现国际化。
相关文章推荐
- struts如何实现国际化(转)
- 自定义JSP标签实现语言国际化(类似struts text标签),并同时支持图片、JS文件国际化
- struts 的国际化实现
- 国际化编程实现和Struts验证框架 参考工程validateWeb
- struts 中如何访问资源文件,JSP页面中如何实现国际化显示
- struts国际化多语言配置实现源代码分享
- struts如何实现国际化
- struts 的国际化实现
- 利用STRUTS实现国际化支持
- struts国际化的实现
- 一个Struts实现分页,增删改查,Tiles,国际化的DEMO
- 开发框架:利用STRUTS实现国际化支持
- struts实现国际化
- struts2,struts1,jsp实现国际化的方法示例
- 开发框架:利用STRUTS实现国际化支持
- (下节)Spring+JDBC+Struts;实现图片上传(后台文件名要规范),加国际化;头文件basepath确保路径从webroot开始;
- struts中的bean-message标签用来实现国际化
- struts之国际化的实现操作
- struts中的bean-message标签用来实现国际化
- struts2,struts1,jsp实现国际化的方法示例