在ui:param中传递方法调用时出现JSF错误

时间:2017-04-18 07:27:50

标签: jsf

我有以下代码:

some_file.xhtml 包含:

<ui:decorate template="template/a_template.xhtml">
    ...
    <ui:param name="doSmthg" value="#{aBean.someAction()}"/>
    ...
</ui:decorate>

在模板文件 a_template.xhtml

<p:commandLink id="anId" actionListener="#{doSmthg}" ...>

这里的问题是,aBean.someAction()被正常调用,但我有一个错误“Identity 'doSmthg' was null and was unable to invoke”。

如果我在模板中直接使用actionListener="#{aBean.someAction()}",我没有错误。

有没有人有想法? THX

1 个答案:

答案 0 :(得分:0)

试试这个:

将方法的名称作为参数:

 <ui:param name="doSmthgName" value="someAction"/>

并使用它:

<p:commandLink id="anId" actionListener="#{bean[doSmthgName]}" ...>