如何通过ui:param参数化h:commandLink动作属性



我试图在包含文件中参数化<h:commandLink>action属性:

<ui:include src="template-file.xhtml">
     <ui:param name="actionToCall" value="actionSave" />
     <ui:param name="actionLabel" value="actionLabel" />
</ui:include>

其中template-file.xhtml包含:

<h:commandLink action="#{actionToCall}" value="#{actionLabel}" />

但是我得到了以下异常:

javax.el.ELException: /page.xhtml @17,45 action="#{actionToCall}": 
     Identity 'actionToCall' does not reference a MethodExpression instance, 
     returned type: java.lang.String

我想让它调用我放在actionToCall变量中的弹簧web流转换动作。

在变量后面添加.toString。这给了它一个"方法表达式"(它正在寻找),并允许它通过并执行所需的调用。标签最终看起来像:

<h:commandLink action="#{actionToCall.toString}" value="#{actionLabel}" />

相关内容

  • 没有找到相关文章

最新更新