以编程方式更改语言环境将刷新表单输入

时间:2013-11-29 00:54:52

标签: ajax jsf jsf-2 locale

我正在实现一个多语言页面,允许用户选择他们想要的语言。 我已经实现了类似的东西,一切都很完美。 JSF 2.0 set locale throughout session from browser and programmatically

然而,当我点击更改我的语言时,整个页面都会刷新,并且所有文本的区域设置都会更改,但我在表单中输入的文本也会消失。 例: 1.我有英文语言环境,并获得一个输入用户名的表单 2.我在用户名中输入“ABC” 3.我点击更改语言链接到中文 4.用户名成为中文单词 我之前输入的“ABC”已经消失了。

是否可以更改语言并同时保留我的输入? 我尝试使用ajax,但类似的问题发生了。我需要使用@all,因为我有菜单,页脚和其他不在要翻译的形式的文本。

我的代码示例:

<h:commandLink immediate="true" value="#{msg[localeType.resourceKey]}" 
    rendered="#{languageBean.isCurrentLocale(localeType.value) == false}">
    <f:ajax render="label" execute="@all" 
          listener="#{customerDetailBean.preserveFormData(localeType.value)}"/>
</h:commandLink>

提前感谢您的大力帮助。

0 个答案:

没有答案