码迷,mamicode.com
首页 > 编程语言 > 详细

Struts2实现用户自行选择语言

时间:2015-06-03 21:46:23      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:

      该项目的完整的源代码下载地址:http://download.csdn.net/detail/yanglun1/8769169


      在Struts2中,可以通过ActionContext.getContext().setLocale(Locale arg)设置用户的默认语言。为了简化设置用户默认语言环境,Struts2提供了一个名为i18n的拦截器,并且将其注册在默认的拦截器中。


      在此补充i18n拦截器的作用:主要负责把用户所选的语言、区域放入用户的session中。


      下面介绍如何利用该拦截器实现自主选择网页语言,该程序的思路是:i18n拦截器在执行Action之前,自动查找请求中一个名为request_locale的参数,如果该参数存在,拦截器就将其作为参数,转换成Locale对象,并将其设为用户默认的Locale;程序中通过request_locale的参数传递不同的参数(zh_CN或者en_US)来实现页面语言符号的变化。改程序的整体目录结构为:

技术分享

      

      在Struts配置文件中,主要配置的就是一个Action,此处的Action的name属性需要同你的超链接的action属性相同。该Action用来在转向之前,根据i18n拦截器来获取request_locale的值,从而根据获取的值来获取需要显示页面的语言。示例代码如下:


Index.jsp中的部分代码如下:

<a href="lang.action?request_locale=zh_CN">中文</a>

<a href="lang.action?request_locale=en_US">English</a>


struts.xml中的配置代码如下:

<!-- 此处的value值一定要和你的语言配置文件的前面部分一致 -->

<constant name="struts.custom.i18n.resources" value="loginResource"></constant>


<action name="lang" class="com.action.LoginAction"method="language">

    <result name="input">/index.jsp</result>

</action>


      到此这个项目就完成了,其实实现这个功能就是用到了i18n拦截器,这也体现了struts2功能的强大,一切都给你封装好了,你需要做的就是学会如何取运用它。


Struts2实现用户自行选择语言

标签:

原文地址:http://blog.csdn.net/yanglun1/article/details/46349777

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!