Mam składnik UI z atrybutem MethodExpression changeListener
:dokonania oceny atrybut MethodExpression jest ustawiony (coraz 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>
Ten atrybut changeListener
jest opcjonalnym wyrażenie metoda stosowana jako ActionListener w remoteCommand
i Chcę renderować TYLKO JEŚLI atrybut changeListener
został ustawiony.
Próbowałem kilka sposobów, aby sprawdzić, czy atrybut jest ustawiony, czy nie, w szczególności:
<c:if test="#{! empty cc.attrs.changeListener}">
i
<p:remoteCommand rendered="#{cc.attrs.changeListener != null}" />
Ale dostaję javax.el.PropertyNotFoundException ponieważ próbuje ocenić zamiast tego atrybut jako właściwość.
Jak mogę ocenić, czy opcjonalny atrybut metody jest ustawiony, czy nie?
dzięki