我正在实现一个多语言页面,允许用户选择他们想要的语言。 我已经实现了类似的东西,一切都很完美。 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>
提前感谢您的大力帮助。