f:setPropertyActionListener setter not being invoked

Я использую Icefaces 1.8.2 с jsf 1.1 The setter method of target field is not invoked before the commandLink метод действия.

<ice:panelSeries id="deptSeries" value="#{sessionScopedBean.deptList}" var="dept">
......
 <ice:commandLink actionListener="#{myActionBean.search}">
    <f:setPropertyActionListener target="#{sessionScopedBean.searchList}" 
                                              value="#{dept.myList}"/>
    <ice:graphicImage title="search" url="/images/search.gif"/>
    <f:param name="user" value="#{userBean.name}"/>
 </ice:commandLink>
......
</ice:panelSeries>

1 ответ

Во-первых, <setPropertyActionListener /> был введен в JSF 1.2.

Во-вторых, код actionListener="#{myActionBean.search}" представляет слушателя действия, а не действия. Следовательно, метод myActionBean.search() вызывается на той же фазе жизненного цикла JSF, что и слушатель действия свойства.

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

<ice:commandLink action="#{myActionBean.search}">
....
</ice:commandLink>

Эта ссылка может быть полезна для понимания:

Различия между действием и actionListener

Другие вопросы по тегам