Here is the scenario (simplified): I am trying to use dynamic p:menus inside ui:repeat as shown below ...
<h:form>
<ui:repeat value="#{bloggerBean.listOfModel}" var="categoryModel" varStatus="loop">
<p:commandButton id="dynaButton" type="button"
value="#{categoryModel.category.name}"/>
<p:menu model="#{categoryModel}" overlay="true" trigger="dynaButton"
my="left top" at="left bottom" />
</ui:repeat>
</h:form>
With this, buttons and menuitems displayed correctly however only the last p:menu action listeners in the loop worked correctly (called at managed bean). Obviously because I am not using varStatus for model. If I changed the above to use varStatus as shown here below,
<h:form>
<ui:repeat value="#{bloggerBean.listOfModel}" var="categoryModel" varStatus="loop">
<p:commandButton id="dynaButton" type="button"
value="#{categoryModel.category.name}"/>
<p:menu model="#{bloggerBean.listOfModel[loop.index]}" overlay="true" trigger="dynaButton"
my="left top" at="left bottom" />
</ui:repeat>
</h:form>
Buttons and menu displayed however the menuItems in every p:menu is empty.
This is similar to as BalusC reported [here] (Using <ui:repeat><h:inputText> on a List<String> doesn't update model values)!
Any idea why? Thanks!