Ho un componente di interfaccia utente con un attributo MethodExpression changeListener
:valutare attributo MethodExpression è impostato (ottenendo PropertyNotFoundException)
<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>
Questo attributo changeListener
è un metodo espressione opzionale usato come ActionListener nel remoteCommand
e Voglio rendere il <p:remoteCommand>
SOLO SE è stato impostato l'attributo changeListener
.
Ho provato diversi modi per verificare se l'attributo è impostato o meno, in particolare:
<c:if test="#{! empty cc.attrs.changeListener}">
e
<p:remoteCommand rendered="#{cc.attrs.changeListener != null}" />
Ma io ottenere un javax.el.PropertyNotFoundException perché cerca di valutare l'attributo come una proprietà invece.
Come valutare se l'attributo del metodo opzionale è impostato o meno?
grazie