0

チェックボックスをレンダリングし、選択したチェックボックスの値を以下のようにレンダリングしました。

    <h:selectManyCheckbox id="chkedition" value="#{adcreateBean.selectedEditions}" layout="lineDirection" styleClass="nostyle">
                                        <f:selectItems value="#{adcreateBean.editions}" var="item" itemLabel="#{item.editionName}" itemValue="#{item.editionID}"/>
  <p:ajax update="dt1" />

    </h:selectManyCheckbox>
    <h:dataTable id="dt1" value="#{adcreateBean.selectedEditions}" var="it" styleClass="nostyle" width="100%">
     <f:facet name="header">
      <h:outputText value="You have selected :" />
      </f:facet>
     <h:column>
         <h:outputText value="#{it}" />
     </h:column>
     </h:dataTable> 

私の問題は、選択した値のIDが表示されることです。しかし、選択した値の名前(ラベル)が必要です。それで、私は何をすべきですか?

4

1 に答える 1

0

あなたitemValueは確かにエディションIDのみを渡します。代わりにエディション名を渡す必要があります。

<f:selectItems value="#{bean.editions}" var="edition" 
    itemLabel="#{edition.name}" itemValue="#{edition.name}"/>

Editionまたは、オブジェクト全体を渡すだけです。

<f:selectItems value="#{bean.editions}" var="edition" 
    itemLabel="#{edition.name}" itemValue="#{edition}"/>

との間でConverter変換するカスタムを作成するだけで済みます。EditionString

于 2012-06-16T18:45:56.513 に答える