2

リッチ コンテキスト メニュー コンポーネント内でリッチ メニュー項目を動的に生成しようとしています。これが私のコードです:

<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:forEachui: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 を使用しています

4

1 に答える 1