【发布时间】:2014-08-23 17:39:35
【问题描述】:
我正在尝试在复合组件中使用链接,我的链接在一个简单的数组中,不属于任何托管 bean。
<composite:interface>
<composite:attribute name="links" required="true" />
</composite:interface>
<composite:implementation>
<ui:param name="linksSplit" value="#{fn:split(cc.attrs.links, ',')}" />
<ui:repeat var="link" value="#{linksSplit}" >
<h:commandLink value="#{option}" action="#{link}" />
</ui:repeat>
</composite:implementation>
我收到以下错误: 标识“#{link}”未引用 MethodExpression 实例,返回类型:java.lang.String
我们应该在 EL 表达式中使用字符串或 bean 方法,但我不明白为什么我们不能评估字符串参数(在我的例子中是链接)。
如果我在 faces-config 中引用了一个真正的字符串,它会起作用
<h:commandLink value="#{option}" action="#navigate" />
如果您有解释或解决方法来让我的链接正常工作,那就太好了
【问题讨论】:
标签: jsf el commandlink