0

私は2つのアイテムを持っています:ラジオ ボタン
outputtext

私がやろうとしているのは、ユーザーがラジオボタンをチェックすると、チェックされたラジオボタンの itemLabel を出力テキストで取得することです。(アイテム値ではありません)

出力テキストに itemValue を表示する次のコードがあります。

<h:form>
<p:selectOneRadio layout="pageDirection" id="test" name="testy" value="#{myBean.testValue}">
<p:ajax update="testOutput"/>
<p:selectItems value="#{myBean.getAllTestItems()}" var="selecter" itemLabel="#{selecter.label}" itemValue="#{selecter.val}"/>
</p:selectOneRadio>

<h:outputText id="testOutput" value="#{myBean.testValue}"/>
</h:form>

ラジオボタンの 1 つを選択すると、outputText で itemValue を取得します。ただし、outputText で選択したアイテムの itemLabel を取得したいと思います。

ラジオボタンの値の代わりにラベルを取得するにはどうすればよいですか?

4

1 に答える 1

1

いくつかの方法。

  1. #{myBean.getAllTestItems()}ラベルと値の両方を持つアイテムがすでに含まれているコレクションに基づいて取得します。そこで選択した値に一致するアイテムを見つけて、ラベルを取得します。

  2. ラジオボタンアイテムの値として#{selecter}ではなく、送信します。#{selecter.val}このようにして、でラベルを表示できます#{myBean.testValue.label}。(HTMLおよびHTTPリクエストパラメータの場合)と(Javaモデルの場合)Converterの間で変換するために提供する必要があるだけです。StringSelecter

参照:

于 2012-11-09T14:16:46.070 に答える