Я хочу создать компонент selectOneMenu
с панелью, подобной витрине здесь (последний список с именем «Содержимое с фильтром»).
Моя цель - показать флаги и связанные с ними локали.
Мой код:
#{selected}
И мой locale
bean:
@ManagedBean(name="locale")
@SessionScoped
public class LocaleBean {
private static Logger logger = Logger.getLogger(LocaleBean.class);
private String locale;
private List languages;
private String selectedLanguage;
public LocaleBean() {
super();
languages = new ArrayList();
languages.add("fr");
languages.add("en");
}
public String getLocale() {
return locale;
}
public void setLocale(String locale) {
FacesContext.getCurrentInstance().getViewRoot().setLocale(new Locale(locale));
this.locale = locale;
}
public List getLanguages() {
return languages;
}
public void setLanguages(List languages) {
this.languages = languages;
}
public String getSelectedLanguage() {
return selectedLanguage;
}
public void setSelectedLanguage(String selectedLanguage) {
this.selectedLanguage = selectedLanguage;
}
}
С помощью этого кода мой selectOneMenu
содержит значения fr
и en
, тогда как для изображения и локали флага.
Когда я устанавливаю атрибут itemLabel
тега selectItems
в foo
, у меня есть только foo
значения, поэтому кажется, что мой p: column
никогда не используются/не читаются.
Где моя ошибка, пожалуйста?