私は outputLink の多くのメニューを持っており、データベース mysql から次のように生成しました。
<ui:repeat value="#{loginAction.subMenusBeans.subMenusBeansList}"
var="subMenusBeansList">
<ui:fragment rendered="#{menusBeansList.menuId == subMenusBeansList.menuId}" >
<h:commandLink id="circlLink" value="#{subMenusBeansList.subMenuName}"
action="{subMenusBeansList.subMenuLink}" />
</ui:fragment>
</ui:repeat>
データベースからアクションの値を取得し、それを「subMenusBeansList.subMenuLink」に設定します
出力:
head quarter
main offices
offices
and so on..
上記のリンクのいずれかをクリックしたとき
例外:
action="#{subMenusBeansList.subMenuLink}":
メソッドが見つかりません:
多くのハイパーリンクがあり、データベースからすべてのリンクアクションを設定し、ui:repeat を使用してそれらを xhtml に生成したいので、データベースからアクションメソッド名を設定したいのですが、#{subMenusBeansList.subMenuLink}'
スロー例外から生成されたハイパーリンクのアクションのいずれかをクリックすると
javax.servlet.ServletException: javax.el.MethodNotFoundException: /template/
templateslider.xhtml @36,135 action="#{subMenusBeansList.subMenuLink}":
Method not found: com.ss.managedbeans.SubMenusBeans@552edddd.subMenuLink()