我有一个具有MethodExpression属性的复合组件变更侦听器
:
<复合:界面><composite:attribute name=“changeListener”required=“false”method-signature=“void actionListener(javax.faces.event.ActionEvent)”/>..</复合:接口><复合:实现><p:remoteCommand name=“ajaxOnChange”update=“#{cc.attrs.onChangeUpdate}”oncomplete=“#{cc.attrs.onchange}”actionListener=“#{cc.attrs.changeListener}”/>..</composite:实现>
这个changeListener(更改侦听器)
属性是一个可选的方法表达式,用作actionListener(操作侦听器)在远程命令
我想渲染<p:remoteCommand>
仅当changeListener(更改侦听器)
属性已设置。
我尝试了几种方法来检查属性是否已设置,尤其是:
<c:if test=“#{!empty cc.attrs.changeListener}”>
和
<p:remoteCommand rendered=“#{cc.attrs.changeListener!=null}”/>
但我得到了javax.el.属性未找到异常
因为它尝试将属性作为属性进行计算。
如何评估是否设置了可选方法属性?