我有两个项目:
单选按钮
outputtext
我尝试做的是:当用户选中一个单选按钮时,在我的->输出中获取选中的单选按钮的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。
如何获得标签而不是单选按钮的值?
发布于 2012-11-09 14:16:46
有几种方法。
#{myBean.getAllTestItems()}
背后的集合获取它,该集合已经包含了标签和值的项。找到与其中的选定值匹配的项目,然后获取标签。#{selecter}
而不是#{selecter.val}
作为单选按钮项值提交。这样,您就可以按#{myBean.testValue.label}
显示标签。您只需要提供一个Converter
来在String
(在HTML和HTTP请求参数中)和Selecter
(在Java模型中)之间进行转换。另请参阅:
selectOneMenu
wiki pageSelecter
作为值的情况)https://stackoverflow.com/questions/13309598
复制