Struts 标签判断当前语言环境

 

struts

项目中涉及到多语言版本时,往往需要做到能自由切换不同语言,比如中英文切换。Struts2框架已经封装了国际化相关流程,使用起来极其简单,Struts2需要用到国际化环境时具体请看Struts2国际化流程步骤。而要做到自由切换语言时,其实也很简单。

1.只要将request_locale这个参数传递到testAction即可,参数值为:xx_XX(语言_区域,如zh_CN)。

1
2
<a href="/testAction.do?request_locale=zh_CN">中文简体</a>
<a href="/testAction.do?request_locale=en_US">English</a>

2.Action无需任何操作,只要跳转到相应页面即可。

1
2
3
4
5
6
7
8
9
/**
 * FileName:TestAction.java
 * @author ShelWee
 */
public class TestAction extends ActionSupport {
     public String execute() throws Exception{
          return "success";
     }
}
1
2
3
4
5
6
<!--struts.xml-->
<package name="test" extends="struts-default" namespace="/">
     <action name="testAction" class="testAction">
          <result>/test.jsp</result>
     </action>
</package>

3.jsp页面根据当前语言显示文字,比如当前是中文,显示中文,当前是英文显示English。

1
2
3
4
5
6
7
<!--test.jsp-->
<s:if test="%{getText('lang')=='中文' || #session.WW_TRANS_I18N_LOCALE.toString()=='zh_CN'}">
     中文
</s:if>
<s:else>
     English 
</s:else>

PS:如果仅仅只有#session.WW_TRANS_I18N_LOCALE.toString()==’zh_CN’这个条件是不够的,因为用户第一次访问时,WW_TRANS_I18N_LOCALE并不存在于SESSION中。因此这里采取一个较为投机的方法,就是在国际化资源文件中存放一个name为lang的值,然后在JSP页面中获取lang的值匹配。

 

 

注:本文转载自:http://www.shelwee.com/html/archives/67265.html

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值