8

まず、Spring Webflow といくつかの Spring JavaScript を使用して、ajax 呼び出しを簡単にしています。

現在、適切なフラグメントを表示するために ajax で webflow を呼び出しています。

したがって、アプリケーションの ajax のニーズに Spring.AjaxEventDecoration を使用しようとしています。ただし、このメソッドと Webflow に問題があり、使用できる例はほとんどありません。

ちなみに、フォームやセレクトボックスは使っていません。私が見つけたすべての例は、onlick イベントでフォーム/フォーム送信を使用したか、onchange イベントで選択ボックスを使用したため、これについて言及すると思いました。

主な質問: webflow に ajax からのパラメーターを持つメソッドがある場合、実際に ajax から webflow にパラメーターを渡すことはできますか?

コード:

<transition on="disassociateProperty" >
     <evaluate expression="dService.disassociateProperty(requestParameters.currentPId ,currentD)"  result="flowScope.currentD" />
<render fragments="PList" />
</transition>

そのため、firebug で ajax 呼び出しを見ると、渡したパラメーター (currentPId) と正しい eventId が含まれています。

disassociateProperty メソッドの最初の行にデバッグ ポイントを配置すると、currentPId が null であることがわかります。

したがって、webflow の requestParameters.currentPId は、ajax 呼び出しから currentPId を取得していないと仮定します。

これは期待されていますか?誰かが説明して例を挙げてもらえますか?

提供されたヘルプに感謝します。

アダム

4

1 に答える 1

7

問題が ajax 呼び出しにあると思われる場合は、ここに ajax 呼び出しを記述していただけると、呼び出しが正しく行われているかどうかを確認できるようになります。

ajax 呼び出しを行うときに、データ パラメータでシリアル化されたフォームを渡そうとすることができます。また、URL にajaxSourceパラメーターを追加することを忘れないでください。この助けを願っています。

HTML の例:

<form id="formId" method="post" action="${flowExecutionUrl}&_eventId=disassociateProperty">
    <input type="text" id="currentPId" />
</form>

jQuery の例:

$.ajax({
        type: "POST",
        data: $("#formId").serialize(),
        url: $("#formId").attr("action") + "&ajaxSource=true",
        ...
});
于 2012-06-02T14:27:57.517 に答える