【发布时间】:2013-01-25 15:41:58
【问题描述】:
我有一个包含多个h:selectOneMenu 或p:selectOneMenu 的页面,我想使用同一个页面来编辑和添加数据。
当我编辑数据时,我需要f:selectItem。我知道这个组件没有渲染属性。我读到我可以使用<c:if>。
好的。例如,如果我写
<p:selectOneMenu rendered="#{not empty bean.id}"
value="#{bean.selectedId}">
<c:if test="${editableBean != null}">
<f:selectItem itemLable="#{editableBean.name} itemValue=#{editableBean.id} />
</c:if>
<f:selectItems value="#{bean.listItems}" var="item"
itemLabel="#{item.name}" itemValue="#{item.id}"/>
</p:selectOneMenu>
在 primefaces 和 ajax 侦听器中是否可以正常工作?
【问题讨论】:
-
@GaborSch 如果您不知道 JSF 是如何工作的,请不要添加不能帮助 OP 解决好的解决方案的 cmets。
-
@LuiggiMendoza 我知道 JSF 是如何工作的,但我希望 OP 在他问之前尝试一下。顺便说一句,答案是
Yes或No,所以这不是一个好问题。 -
@GaborSch 如果您知道 JSF 是如何工作的,那么您已经知道 OP 的建议不是最好的解决方案 =\,如果您真的知道,请提供答案:)。
-
@LuiggiMendoza 我们不要为此而战。 OP 想知道解决方案(一段代码)是否有效。要决定这个问题,必须有人尝试。
标签: jsf jsf-2 selectonemenu rendered-attribute