我有一个带有 MethodExpression 属性的 UI 组件changeListener
:
<composite:interface>
<composite:attribute name="changeListener" required="false" method-signature="void actionListener(javax.faces.event.ActionEvent)" />
..
</composite:interface>
<composite:implementation>
<p:remoteCommand name="ajaxOnChange"
update="#{cc.attrs.onChangeUpdate}"
oncomplete="#{cc.attrs.onchange}"
actionListener="#{cc.attrs.changeListener}" />
..
</composite:implementation>
此changeListener
属性是一个可选的方法表达式,用作actionListener中的,remoteCommand
并且我想<p:remoteCommand>
仅changeListener
在设置了该属性时才呈现。
我尝试了几种方法来检查属性是否设置,尤其是:
<c:if test="#{! empty cc.attrs.changeListener}">
和
<p:remoteCommand rendered="#{cc.attrs.changeListener != null}" />
但是我得到一个 javax.el.PropertyNotFoundException 因为它试图将属性作为属性来评估。
如何评估是否设置了可选方法属性?
谢谢