簡體   English   中英

如何設置默認值

[英]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方法nativLang1nativLang2設置為-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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM