我在我的应用程序上使用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";
}
}
答案 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>