Spring Web Flow 1を使用する場合、Beanのリストにオブジェクトを追加するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/1001084

  •  05-07-2019
  •  | 
  •  

質問

画面の1つでデータをキャプチャする必要があるWebフローがあります。

このデータは、Beanのリストに保持されるオブジェクトに保存されます。

ページの送信時に、オブジェクトを作成し、それをBeanのリストに追加できるようにします。

これは可能ですか?

ありがとう

役に立ちましたか?

解決 2

最終的に、次のフローで動作するようになりました。

フォームBeanに保持されているリストに追加するための関数を保持するヘルパーBeanを作成しました。

<view-state id="page2" view="page2">
    <transition on="save" to="addToList">
        <action bean="form" method="bindAndValidate"/>
    </transition>
    <transition on="back" to="page1">
        <action bean="formAction" method="bindAndValidate"/>
    </transition>
    <transition on="next" to="page3">
        <action bean="formAction" method="bindAndValidate"/>
    </transition>
    </view-state>

    <action-state id="addToList">
        <bean-action bean="helperbean" method="addToList">
            <method-arguments>
                <argument expression="conversationScope.form"/>
        </method-arguments>
        </bean-action>
        <transition on="success" to="page2"/>
    </action-state>

その後、元のページが再び表示されます

他のヒント

いくつかのことを行う必要があります:

  1. フロースコープにオブジェクトを配置(または、フォームなどの既存のオブジェクトに追加フィールドを追加)して、編集するオブジェクトへの固定バインディングパスを提供します。これを行わないと、Springのデータバインディングを利用できません。

  2. FormActionにメソッドを記述して、このオブジェクトをリストに配置し、このメソッドを設定して、現在のページを送信したときの遷移で実行します。このメソッドは、必要に応じて(1)で使用されたフロースコープレベルのリソースをクリーンアップできます。

編集 Webflowドキュメントには、遷移でアクションを実行する方法の良い例があります。 Webflowバージョン2については、ビュー遷移の実行およびアクションの実行 。バージョン1については、フロー定義

セッションにBean(およびリスト)を保存します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top