[英]how to set default item like “Please select one” in p:selectOneMenu with object from database?
[英]How to set default value of <p:selectOneMenu
我有一個包含兩個<p:selectOneMenu ...>
組件的jsf。
JSF的一部分:
<p:selectOneMenu id="speakerLanguage"
value="#{speakerAddFormView.currentSpeaker.nativLang1}">
<f:selectItem itemLabel="Select Language" itemValue="-1" />
<f:selectItems value="#{speakerAddFormView.languages.entrySet()}"
var="languages" itemLabel="#{languages.key}"
itemValue="#{languages.value}" />
<p:ajax listener="#{speakerAddFormView.updateStateSecondNativeLangSOM}"
update="speakerLanguage2" />
</p:selectOneMenu>
<p:selectOneMenu id="speakerLanguage2"
value="#{speakerAddFormView.currentSpeaker.nativLang2}"
disabled="#{speakerAddFormView.disableSecondNativeLangSOM}">
<f:selectItem itemLabel="Select second Language" itemValue="-1" />
<f:selectItems value="#{speakerAddFormView.languages.entrySet()}"
var="languages" itemLabel="#{languages.key}"
itemValue="#{languages.value}"/>
</p:selectOneMenu>
在我的bean中,我有一個public static final Map<String, String> LANGUAGE_CODES = new TreeMap<String, String>();
包含本地語言。 Bean的初始化在以下位置引用此TreeMap
:
@PostConstruct
public void init() {
this.languages = ConstantCodes.LANGUAGE_CODES;
}
當我重新加載頁面時,兩個<p:selectOneMenus >
都不選擇為默認的<f:selectItem itemLabel="Select Language" itemValue="-1" />
或<f:selectItem itemLabel="Select second Language" itemValue="-1" />
。
有沒有辦法強制默認選擇的值?
在@PostConstruct
方法nativLang1
和nativLang2
設置為-1
。
@PostConstruct
public void init() {
System.out.println("initializing");
this.languages = ConstantCodes.LANGUAGE_CODES;
nativLang1 = "-1";
nativLang2 = "-1";
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.