项目中涉及到多语言版本时,往往需要做到能自由切换不同语言,比如中英文切换。Struts2框架已经封装了国际化相关流程,使用起来极其简单,Struts2需要用到国际化环境时具体请看Struts2国际化流程步骤。而要做到自由切换语言时,其实也很简单。
1.只要将request_locale这个参数传递到testAction即可,参数值为:xx_XX(语言_区域,如zh_CN)。
1 2 |
|
2.Action无需任何操作,只要跳转到相应页面即可。
1 2 3 4 5 6 7 8 9 |
|
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 |
|
PS:如果仅仅只有#session.WW_TRANS_I18N_LOCALE.toString()==’zh_CN’这个条件是不够的,因为用户第一次访问时,WW_TRANS_I18N_LOCALE并不存在于SESSION中。因此这里采取一个较为投机的方法,就是在国际化资源文件中存放一个name为lang的值,然后在JSP页面中获取lang的值匹配。