0

SWFにPrimefacesAjaxイベントに応答させる「エレガントな」方法はありますか?次のように:

<p:dataTable id="myDT" value="#{myList}" var="listVal">
<p:ajax event="rowToggle" update="expandedText" />  
<p:rowToggler>
<h:outputText id="expandedText" value="#{listVal.someText}"/>
</p:rowToggler>
</p:dataTable>

ビューでSWFアクションをトリガーし、適切なフラグメントをレンダリングできると理想的です。

<view-state id="myView" view="myview.xhtml">
<transition on="myDT:rowToggle"  to="showRowContents" >
<render fragments="expandedText"/>
</transition>

現在、私が知っている唯一の回避策は、AjaxイベントでRemoteCommandを呼び出すことです。

<p:dataTable id="myDT" value="#{myList}" var="listVal">
<p:remoteCommand name="rowToggleCommand" action="rowToggle"  update="expandedText"/>
<p:ajax event="rowToggle" oncomplete="rowToggleCommand()" />  
<p:rowToggler>
<h:outputText id="expandedText" value="#{listVal.someText}"/>
</p:rowToggler>
</p:dataTable>

回避策はやや醜く、1つではなく2つのAjaxリクエストが発生します。このようなAjaxイベントに対応するためにSWF側にパッチを適用することは可能かもしれないと思いますが、どこから始めればよいのかわかりません。

4

1 に答える 1

0

多くの研究の後、私はこれが不可能であることを理解しました。SWFアーキテクチャでは、このようなイベントに簡単に応答することはできません。AjaxイベントでBeanメソッドを呼び出すことはできます。この修正を適用すると、独自の部分レンダリングを担当するFaceletsコンポーネントがAjaxイベントに適切に応答します。http://static.springsource.org/spring-webflow/docs/ 2.3.x/reference/html/ch13s10.html

同じテーマに関する他の質問も参照してください:PrimefacesRowEditorはSpringWebflowでは機能しません

SWF関連のアクションは、Primefaces RemoteCommandコンポーネントなど(CommandButtonなど)によって呼び出す必要があります。

于 2012-11-28T19:46:24.120 に答える