Я работаю с 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>
Моя проблема в том, что я получаю только первые компоненты операций, он правильно отображает кнопки CommandButtons, и их действия работают хорошо, однако в случае "# {! OpBean._Clickable} "Я получаю menuButton с именем, но без меню внутри.Похоже на встроенный интерфейс: повторение итерации не очень хорошо сделано.
Я использовал ту же возможность, используя c: foreach , c: выберите и c: в противном случае теги , и в этом случае я получаюменю визуально хорошо выполнено, действия commandButton также работают хорошо, но когда я нажимаю в menuItem, он говорит, что opBean2 не распознается ... Однако, как я уже говорил, я предпочитаю использовать исключительно теги JSF.Есть ли способ сделать это?