Java 如何设置默认项,例如;请选择一个“;在p:selectOneMenu中选择数据库中的对象?

Java 如何设置默认项,例如;请选择一个“;在p:selectOneMenu中选择数据库中的对象?,java,primefaces,Java,Primefaces,我有一个p:SelectOne菜单,里面装满了数据库中的对象。首先打开页面时, selectOneMenu的默认项必须是字符串类型中的“请选择一个”(selectOneMenu的其他项为对象类型)。首先加载页面时,数据库中对象类型中的一个数据显示为默认值。我不希望这样。如何将p:selectOneMenu中的“请选择一个”这样的默认项与数据库中的对象一起设置 <ui:composition xmlns="http://www.w3.org/1999/xhtml"

我有一个p:SelectOne菜单,里面装满了数据库中的对象。首先打开页面时, selectOneMenu的默认项必须是字符串类型中的“请选择一个”(selectOneMenu的其他项为对象类型)。首先加载页面时,数据库中对象类型中的一个数据显示为默认值。我不希望这样。如何将p:selectOneMenu中的“请选择一个”这样的默认项与数据库中的对象一起设置

 <ui:composition xmlns="http://www.w3.org/1999/xhtml"
            xmlns:h="http://java.sun.com/jsf/html"
            xmlns:ui="http://java.sun.com/jsf/facelets"
            xmlns:p="http://primefaces.org/ui"
            xmlns:f="http://java.sun.com/jsf/core"
            template="layout.xhtml">

  <ui:define name="pageContent">
    <h:form id="silYapilandirmaForm" prependId="true">
                 <p:panel id="silYapilandirmaPanel" header="#{etiketler.silYapilandirma}"         collapsed="true" toggleable="true" >
            <p:tabView id="tabView" dynamic="false" activeIndex="0">

                      <p:tab title="#{etiketler.silIslemleri}" id="silIslemleriTab">
                    <p:outputPanel id="silIslemleriPanel">


                        <h:panelGrid  id="eshsSecPanelGrid" columns="3" >
                            <h:outputText value="#{etiketler.eshsSertifika}:*" />  

                            <p:selectOneMenu  id="silYapilandirmaSelect"  value="#{silYapilandirmaView.seciliEshsSertifika}" effect="fade" effectDuration="100" style="width: 205px"  converter="#{entityConverter}">

                                <f:selectItem itemLabel="Please select one" itemValue="#{null}"/>


                                <f:selectItems value="#{silYapilandirmaView.eshsSertifikaList}" var="eshsSertifika" 
                                                       itemLabel="#{eshsSertifika.sertifikaKodAdi}" itemValue="#{eshsSertifika}" />



                                <p:ajax process="@this" event="change" update="eshsSecPanelGrid,silIslemleriPanel"  listener="#{silYapilandirmaView.addListener()}"  />
                            </p:selectOneMenu>

                            <h:outputText value=""/>

                            <h:outputText value="#{etiketler.eshsSertifika}:" />
                            <h:inputText  value="#{silYapilandirmaView.seciliEshsSertifika.sertifikaKodAdi}" disabled="true" size="30"/>


                            <h:outputText value=""/>
                            <h:outputText value="#{etiketler.silUretimBaslangicSaati}:* " />   
                            <p:inputMask id="silUretimBaslangicSaatiInputMask"  value="#{silYapilandirmaView.seciliEshsSertifika.silUretimBaslangicSaati}" mask="99:99:99" size="30" />
                            <p:message for="silUretimBaslangicSaatiInputMask" display="text" />

                            <h:outputText value="#{etiketler.silUretimBaslangicPeriyodu}:* "  />
                            <p:inputMask  maxlength="4" mask="99?99" id="periyotInputMask"  size="30" value="#{silYapilandirmaView.seciliEshsSertifika.silUretimPeriyodu}" >  
      </p:inputMask> 
                            <p:message for="periyotInputMask" display="text" />
                        </h:panelGrid>

                    </p:outputPanel>
                </p:tab> 

            </p:tabView>


        </p:panel>


    </h:form>

</ui:define>
</ui:composition>

当页面加载时,“请选择一个”在p:selectOneMenu中可见,但我不想使“seciliesSSertifika”对象等于null,是否还有其他人提出其他解决方案

试试这个。获取要设置第一项的对象。(本例中我得到列表中的第一个对象)

java

EshsSertifika firstItem = eshsSertifikaList.get(0);
xhtml



您需要将此文本放在列表和对象的第一个位置。没有价值。您也可以这样做:但我希望在加载页面时,它会显示在selectOneMenu中
public void init() {


  seciliEshsSertifika=new EshsSertifika();
    eshsSertifikaList = (List) commonService.hepsiniGetir(EshsSertifika.class);
     seciliEshsSertifika = eshsSertifikaList.get(eshsSertifikaList.size() - 1);

seciliEshsSertifika=null;
  }
EshsSertifika firstItem = eshsSertifikaList.get(0);
<f:selectItem itemLabel="#{eshsSertifika.firstItem.sertifikaKodAdi}" itemValue="#{eshsSertifika.firstItem}" />