2013-03-21 2 views
2

У меня есть много меню из outputLink и я создал их из базы данных MySQL как:генерировать действие outputLink из базы данных

<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}": метод не найден:

Я хочу установить имя методы действия из базы данных, потому что есть много гиперссылке и хотят установить все ссылки действие из базы данных и генерировать их верстку с помощью пользовательского интерфейса: повторить, но когда я нажимаю на какой-либо из действий гиперссылки генерируется из #{subMenusBeansList.subMenuLink}' броска за исключением

javax.servlet.ServletException: javax.el.MethodNotFoundException: /template/ 
    templateslider.xhtml @36,135 action="#{subMenusBeansList.subMenuLink}": 
Method not found: [email protected]() 
+2

Итак, '# {subMenusBeansList.subMenuLink}' должен быть getter, который возвращает результат навигации? Почему бы вам просто не использовать '' вместо ''? – BalusC

ответ

0

проблема вы работаете, чтобы здесь является то, что <h:outputLink action="XXXX"> на самом деле ожидает MethodExpression, поэтому он не пытается решить сорбент для вашего имущества , "subMenuLink".

Возможно, вам захочется, как предложил BalusC, использовать вместо этого. Этот атрибут ожидает ValueExpression и должен иметь возможность разрешить ваше свойство и его getter.

 Смежные вопросы

  • Нет связанных вопросов^_^