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

标签 java jsf primefaces

我有 2 件元素:
单选按钮
输出文本

我想做的是:当用户检查单选按钮时 -> 在我的输出文本中获取选中的单选按钮的 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>

当我选择其中一个单选按钮时,我会在输出文本中获取 itemValue。但是我想在输出文本中获取所选项目的 itemLabel 。

如何获取标签而不是单选按钮的值?

最佳答案

几种方法。

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

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

另请参阅:

关于java - jsf primefaces,更新时显示 itemLabel 而不是 itemvalue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13309598/

相关文章:

java - 如何使用 JPQL 获取 blob 字段的长度?

jsf - 在 JSF 中生成弹出窗口

jsf - 带有 Fontawesome 图标的工具提示

jsf-2 - 更新 tabview 时保持当前选项卡

jsf - PrimeFaces:将选定的值传递给自动编译方法(请求范围)

java - "local variables are thread safe"有条件吗?

java - 让 Java EE InitialContext 找到合格的主机名? (针对 JBoss EJB 服务器)

java - 从 Spring Security 上下文访问应用程序上下文

validation - 在 ui :repeat 中使用带有变量属性的验证器

java - 适用于 JSF、Java 和 hibernate 框架的良好代码审查工具