首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tiles2 Struts Switch Locale

Tiles2 Struts Switch Locale
EN

Stack Overflow用户
提问于 2011-01-23 17:06:59
回答 1查看 2.7K关注 0票数 0

我是struts2和tiles2的newbee,我有一个应用程序,我使用struts2作为mvc框架,使用tiles2作为视图组件。在我的应用程序中,我使用了两种语言,英语和马拉提语,各自的地区是en_US和mr_IN,我有tiles.xml和tiles_mr_IN.xml,当我从浏览器切换地区时,代码运行良好,但我想在英语和马拉地语之间切换,用户应该被重定向到具有相同请求参数的相同操作。我已经尝试了request_locale参数,但它不起作用。我可以发现,如果我可以在请求头中切换区域设置,或者将区域设置从struts2传递给tiles、lisner或类似的东西,请帮助我

EN

回答 1

Stack Overflow用户

发布于 2011-01-24 04:33:14

这个问题应该可以通过几个s2 jsp标记来解决。

此链接显示了您需要的部分内容:http://struts.apache.org/2.0.14/docs/how-do-we-change-locales.html

也就是说,它展示了如何获取一个s2 url,添加一个参数,然后使用该参数来设置区域设置。

如果有一个名为"request_locale“的参数传入,i18n拦截器将使用该参数,而不是用户代理的语言首选项。

为了使示例更适合模板更改,请执行以下操作

代码语言:javascript
复制
<s:url id="en" action="Welcome">

代码语言:javascript
复制
<s:url includeParams="get">

请注意,操作名称已被省略,这将默认为当前操作(这对于您的模板来说是理想的),接下来includeParams="get“将把所有参数添加回url,这样当您使用锚点时,它们将被传递到操作中。includeParams可以是"none“、"get”或"all“(按照您的预期执行)。有关s2 url标记的更多信息,请参阅:http://struts.apache.org/2.2.1.1/docs/url.html

进一步注意,s2 a标签与s2 url标签共享大部分相同的功能,利用这一点将产生:

代码语言:javascript
复制
<s:a includeParams="get">
  <s:param name="request_locale" value="en_US"/>
  English
</s:a>
&nbsp;
<s:a includeParams="get">
  <s:param name="request_locale" value="mr_IN"/>
  Marathi
</s:a>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4773063

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档