Базовый JSF: можно ли установить значение свойства в EL? - PullRequest
1 голос
/ 18 августа 2011

Мне нужно сделать что-то вроде этого:

<a4j:support even="onclick" action="#{myBean.myProperty = null}"/>

Я хотел бы знать, возможно ли это и какой синтаксис будет правильным, если это так.

Ответы [ 2 ]

2 голосов
/ 18 августа 2011

Если вы работаете с контейнером, поддерживающим EL 2.2 (Tomcat 7, Glassfish 3, JBoss AS 6 и т. Д. И более поздние версии, с web.xml заявленным как минимум Servlet 3.0) или используете JBoss EL (ваш тег seam предполагает, что вы используете его ...), тогда вы сможете вызывать методы с аргументами в EL:

<a4j:support event="onclick" action="#{myBean.setMyProperty(null)}"/>

В качестве альтернативы используется <f:setPropertyActionListener>, это также поддерживается в JSF 1.2:

<a4j:support event="onclick" />
<f:setPropertyActionListener target="#{myBean.myProperty}" value="#{null}" />
1 голос
/ 18 августа 2011

Методы установки бина вызываются при отправке формы, но на основе вашего примера почему бы не сделать что-то вроде:

<a4j:support event="onclick" action="#{myBean.resetMyProperty}"/>

А в вашем бине ваш метод resetMyProperty установит для myProperty значение null

...