У меня есть много меню 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}":
Метод не найден:
Я хочу установить имя метода действия из базы данных, потому что у меня много гиперссылок, и я хочу установить все действия ссылок из базы данных и сгенерировать их в xhtml с помощью ui: repeat, но когда я нажимаю на любое действие гиперссылки, сгенерированное из исключения #{subMenusBeansList.subMenuLink}'
throw
javax.servlet.ServletException: javax.el.MethodNotFoundException: /template/
templateslider.xhtml @36,135 action="#{subMenusBeansList.subMenuLink}":
Method not found: [email protected]()
#{subMenusBeansList.subMenuLink}
должен быть геттером, который возвращает результат навигации? Почему бы вам просто не использовать<h:link>
вместо<h:commandLink>
? - person BalusC   schedule 22.03.2013