如何在不更改当前页面的情况下设置应用程序的本地化?

时间:2013-03-23 00:47:25

标签: jsp localization struts2

我在我的应用程序上使用locale,它完美有效,但问题是,当我在主页面(index.jsp)中点击应用程序的不同页面中的特定语言时,它会转到index.jsp页面,如何更改映射,以便当我在页面中选择特定语言时,它会保留在该页面中并更改应用程序的语言?如果您需要我上传代码的任何其他部分,请告诉我。

struts.xml中

<action name="locale" class="com.myapp.struts.LocaleAction">
  <result name="SUCCESS" type="tiles">baseLayout</result>
</action>

动作

public class LocaleAction extends ActionSupport{

    @Override
    public String execute(){
        return "SUCCESS";
    }
}

1 个答案:

答案 0 :(得分:3)

default拦截器堆栈包含一个i18n拦截器,它监视request_locale参数并根据该参数更改区域设置。因此,不需要特殊操作。

要保持同一页面,请使用<s:url>标记includeParams="all"和空value属性。

<s:url var="urlen" includeParams="all" value="">
  <s:param name="request_locale">en</s:param>
</s:url>