0

BD のリストをロードする selectOneMenu があります。デバッグにより、selectOneMenu に値が表示される場合を除いて、すべての手順が正しいことを確認できます。ページにオブジェクト名「JanelaPortabilidade @ 7437」が表示され、文字列とは異なります。

私のコード:

public List<SelectItem> listarHoraJanela(DateSelectEvent event) {  

        dataF = event.getDate();  
        Calendar dataAux = new GregorianCalendar();               
        dataAux.setTime(dataF);   


        //Corrigir  
        if (listaHoraJanela == null) {  

            listaHoraJanela = new ArrayList<JanelaEAPortabilidade>();  
            listaHoraJanela = consultaJPortabilidade.listarHoraJanela(dataAux);  
            listSelectHoraJ.add(new SelectItem("", ""));              

            for (JanelaEAPortabilidade horaJ : listaHoraJanela) {  
                String dataFormat = String.format("%02d",horaJ.horIniJanela.get(Calendar.HOUR_OF_DAY));  
                System.out.println(dataFormat);//So here is ok, print in console correct string 
                listSelectHoraJ.add(new SelectItem(horaJ.getIdtJanela(),dataFormat));  


            }  
        } 

xhtml:

<h:outputText value="Hora da Janela:" for="horaJanela" />  
<h:selectOneMenu value="#{bean.codHoraJanela}" id="horaJanela"         
    rendered="#{bean.type == 'Fixo'}" >  
<f:selectItems value="#{bean.listaHoraJanela}" />

それは何でしょうか?私は何かが欠けているに違いない。

ありがとうございました!

4

2 に答える 2

0

f:selectItems の itemLabel 属性と itemValue 属性を使用する必要があります。PrimeFaces Web サイトの例を次に示します (http://www.primefaces.org/showcase-labs/ui/selectOneMenu.jsf コードの pojo セクションから):

<f:selectItems value="#{autoCompleteBean.players}" var="player" itemLabel="#{player.name}" itemValue="#{player}"/>  

itemLabel はドロップダウン リストに表示されるものであり、itemValue は返されるものです (この例では #{bean.codHoraJanela} 内)。

于 2012-10-19T15:14:08.310 に答える