1

我正在使用Icefaces 1.8.2with在action 方法jsf 1.1 之前不调用目标字段的 setter方法。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>
4

1 回答 1

1

首先,<setPropertyActionListener />在 JSF 1.2 中引入。

其次,代码actionListener="#{myActionBean.search}"代表一个动作监听器,而不是一个动作。因此,myActionBean.search()在 JSF 生命周期的同一阶段调用该方法作为属性操作侦听器。

尝试将命令链接更改为如下所示:

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

此链接可能有助于理解:

action 和 actionListener 的区别

于 2013-04-28T06:26:01.080 回答