我<c:foreach>在我的jsf应用程序中使用迭代人员列表.我不使用,<ui:repeat>因为每个人都有自己的标签(primefaces).JSF英雄'BalusC'已经在这一个链接上帮助了我.现在我尝试保存(回发)数据.这不起作用<c:forEach>,从不调用Person对象的approriate setter.随着<ui:repeat>它工作.显然我没有理解这两个标签之间的区别,所以我会嘲笑一些启示.
谢谢
马塞尔
自上周以来,我一直在使用PrimeFaces 3.1.1,它似乎是一个出色的可视组件框架。我正在从Richfaces进行迁移,并尝试使所有功能仅适用于Prime和JSF2(2.1.6版)。
我的问题来自必须实现的动态工具栏。有些操作直接集成在工具栏上(commandButtons),而其他操作内部有一些子操作,因此我必须使用操作名称来做一个menuButton,并像菜单项一样在这里添加每个单独的操作。这是我的代码:
<h:panelGroup id="Texto_Header" layout="block">
<h:form>
<p:toolbar>
<p:toolbarGroup>
<!-- Operaciones de aplicación -->
<ui:repeat value="#{logedBean._apps}" var="opBean">
<!-- OPERACION PRINCIPAL EJECUTABLE -->
<h:panelGroup rendered="#{opBean._Clickable}">
<p:commandButton ajax="true" value="#{opBean._Nombre}"
action="#{opBean.actionOperationClick}" />
</h:panelGroup>
<!-- OPERACION PRINCIPAL CON SUBOPERACIONES -->
<h:panelGroup rendered="#{!opBean._Clickable}">
<p:menuButton value="#{opBean._Nombre}">
<ui:repeat value="#{opBean._subOperaciones}" var="opBean2">
<p:menuitem ajax="true" value="#{opBean2._Nombre}"
actionListener="#{opBean2.actionOperationClick}" />
</ui:repeat>
</p:menuButton>
</h:panelGroup>
</ui:repeat>
</p:toolbarGroup>
</p:toolbar>
</h:form>
</h:panelGroup>
Run Code Online (Sandbox Code Playgroud)
我的问题是我只得到第一个操作组件,它正确呈现了CommandButtons并且它们的动作正常,但是在“#{!opBean._Clickable}”的情况下,我得到了一个带有名称的menuButton,但是没有menuitem内。似乎嵌入的ui:repeat迭代没有很好地完成。
我已经尝试过使用c:foreach,c:choose和c:otherwise标记的相同机会,在这种情况下,菜单在视觉上效果很好,commandButton动作也很好,但是当我单击menuItem时,它表示opBean2在无法识别...但是正如我之前所说,我更喜欢只使用JSF标签。有没有办法做到这一点?