gpt4 book ai didi

java - JSF 2 - Ajax - 语言环境未更新

转载 作者:行者123 更新时间:2023-11-30 11:55:21 25 4
gpt4 key购买 nike

<分区>

我有这个 bean :

@ManagedBean(name="langListing")
@ViewScoped
public class LangListing implements Serializable
{
private List<SelectItem> languages = new ArrayList<SelectItem>();
private String language;

public LangListing() {
createLangs(); // lazy loading
}

public void createLangs()
{
languages.add(new SelectItem("en", FacesUtil.getResourceBundle().getString("LANG_LABEL_01"))); // English
languages.add(new SelectItem("fr", FacesUtil.getResourceBundle().getString("LANG_LABEL_02"))); // French
}

public List<SelectItem> getLanguages() {
return languages;
}

public String getLanguage()
{
if (FacesContext.getCurrentInstance().getViewRoot().getLocale() != null) {
language = FacesContext.getCurrentInstance().getViewRoot().getLocale().toString();
} else {
language = "en";
}

return language;
}

public void setLanguages(List<SelectItem> languages) {
this.languages = languages;
}

public void setLanguage(String language) {
this.language = language;
}

public void changeLocale(AjaxBehaviorEvent event) {
FacesContext.getCurrentInstance().getViewRoot().setLocale(new Locale(getLanguage()));
}
}

我从以下位置调用 bean 方法:

<h:selectOneMenu id="selectLang" immediate="true" value="#{langListing.language}">
<f:ajax listener="#{langListing.changeLocale}" render="@form" />
<f:selectItems value="#{langListing.languages}" />
</h:selectOneMenu>

问题是我无法获得将区域设置从英语更改为法语的代码。任何人都可以看到问题吗?请帮忙。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com