ここselectOneMenu
のショーケースのようなパネルを持つコンポーネントを作成したい(「フィルター付きのコンテンツ」という名前の最後のリスト)。
私の目標は、フラグと関連するロケールを表示することです。
私のコードはこれです:
<p:selectOneMenu value="#{locale.selectedLanguage}" var="selected">
<f:selectItems value="#{locale.languages}" var="language" itemValue="#{language}"/>
<p:column>
<p:graphicImage value="resources/images/flags/flag_#{selected}.png" width="40" height="50" />
</p:column>
<p:column>
#{selected}
</p:column>
</p:selectOneMenu>
そして私のlocale
豆:
@ManagedBean(name="locale")
@SessionScoped
public class LocaleBean {
private static Logger logger = Logger.getLogger(LocaleBean.class);
private String locale;
private List<String> languages;
private String selectedLanguage;
public LocaleBean() {
super();
languages = new ArrayList<String>();
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<String> getLanguages() {
return languages;
}
public void setLanguages(List<String> 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
私のエラーはどこにありますか?