如何通过 ui:param 参数化 h:commandLink 动作属性
How to parameterize h:commandLink action attribute via ui:param
我正在尝试在包含文件中参数化 <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
变量中的 spring 网络流转换操作。
在变量后面加一个.toString
。这给它一个 "method expression" (它正在寻找)并允许它通过并执行所需的调用。标签最终看起来像:
<h:commandLink action="#{actionToCall.toString}" value="#{actionLabel}" />
我正在尝试在包含文件中参数化 <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
变量中的 spring 网络流转换操作。
在变量后面加一个.toString
。这给它一个 "method expression" (它正在寻找)并允许它通过并执行所需的调用。标签最终看起来像:
<h:commandLink action="#{actionToCall.toString}" value="#{actionLabel}" />