リッチ コンテキスト メニュー コンポーネント内でリッチ メニュー項目を動的に生成しようとしています。これが私のコードです:
<ui:repeat var="group" value="#{myBean.groups}" >
<div align="center">
<rich:panel>
<h:graphicImage value="#{group.iconUrl}"/>
<rich:contextMenu attached="true">
<c:forEach var="child" items="#{group.children}">
<rich:menuItem label="#{child.name}" />
</c:forEach>
</rich:contextMenu>
</rich:panel>
</div>
</ui:repeat>
私はこのタグライブラリを使用しています:
xmlns:c="http://java.sun.com/jsp/jstl/core
私の問題は、メニュー項目が生成されていないことです。c:forEachをui:repeatに置き換えてみましたが、それでも機能しません。
いくつかの要因を排除するために少し実験を試みました。リッチ コンテキスト メニューを削除し、ui:repeat を使用しました
<ui:repeat var="group" value="#{myBean.groups}" >
<div align="center">
<rich:panel>
<h:graphicImage value="#{group.iconUrl}"/>
<ui:repeat var="child" value="#{group.children}">
<h:outputText value="#{child.name}" />
</ui:repeat>
</rich:panel>
</div>
</ui:repeat>
上記のこのコード スニペットは機能しました。コンテキスト メニューのレンダリングと UI の繰り返しに競合があると思います。
残念ながら、リッチ コンテキスト メニュー コンポーネントに group.children を配置する必要があります。私が望むものを達成するのに役立つアプローチを提案できますか?
注: サーブレット バージョン 3.0 を使用しています