1

で使用Icefaces 1.8.2してjsf 1.1 います対象フィールドのセッターメソッドは、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}"を表します。したがって、このメソッドは、プロパティ アクション リスナーと同じ JSF ライフサイクルのフェーズで呼び出されます。myActionBean.search()

コマンド リンクを次のように変更してみてください。

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

このリンクは、理解を深めるのに役立つ場合があります。

アクションとアクションリスナーの違い

于 2013-04-28T06:26:01.080 に答える