从数据库生成outputLink操作

时间:2013-03-21 20:42:10

标签: jsf-2 primefaces prettyfaces

我有很多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但是当我点击从{{1生成的任何超链接的操作时抛出异常

#{subMenusBeansList.subMenuLink}'

1 个答案:

答案 0 :(得分:0)

你遇到的问题是<h:outputLink action="XXXX">实际上需要一个MethodExpression,这就是为什么它没有尝试解析你的属性的吸气剂“subMenuLink。”

正如BalusC建议的那样,你可能想要的是使用`而不是。此属性需要ValueExpression,并且应该能够解析您的属性及其getter。