我一直在尝试使用选择框动态更改我的 JSF 应用程序的语言环境。但是,仅当我更改 faces-config.xml 中的设置时,区域设置才会更改。帮我解决这个..enter code here
<application>
<locale-config>
<default-locale>en</default-locale>
</locale-config>
<resource-bundle>
<base-name>com.messages.messages_en</base-name>
<var>msg</var>
</resource-bundle>
</application>
我的价值改变听众是,
public void countryLocaleCodeChanged(ValueChangeEvent e){
String newLocaleValue = e.getNewValue().toString();
//loop country map to compare the locale code
for (Map.Entry<String, Object> entry : countries.entrySet()) {
if(entry.getValue().toString().equals(newLocaleValue)){
FacesContext.getCurrentInstance()
.getViewRoot().setLocale((Locale)entry.getValue());
}
}