[英]Primefaces and complex visual selectOneMenu
我想使用此處的展示板(最后一個名為“帶過濾器的內容”的列表)創建帶有面板的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
bean:
@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
值,而我想要標記圖像和語言環境。
當我將selectItems
標簽的itemLabel
屬性設置為foo
我只有foo
值,因此似乎從未使用過/讀取我的p:column
。
請問我的錯誤在哪里?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.