jsf primefaces,在更新时显示itemLabel而不是itemvalue

时间:2012-11-09 14:07:54

标签: java jsf primefaces

我有2件物品:
单选按钮
outputtext

我要做的是:当用户检查单选按钮时 - >在我的outputtext中获取已检查的radiobutton的itemLabel。 (不是itemValue)

我有以下代码,显示输出文本中的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>

当我选择其中一个单选按钮时,我在outputText中得到itemValue。但是我想在outputText中获取所选项的itemLabel。

如何获取标签而不是radiobutton的值?

1 个答案:

答案 0 :(得分:1)

有几种方式。

  1. 根据#{myBean.getAllTestItems()}后面的集合获取它,该集合已包含带有标签和值的项目。在那里找到与所选值匹配的项目,然后获取标签。

  2. 提交#{selecter}而不是#{selecter.val}作为单选按钮项值。这样您就可以按#{myBean.testValue.label}显示标签。您只需提供Converter即可在String(在HTML和HTTP请求参数中)和Selecter(在Java模型中)之间进行转换。

  3. 另见: