Spring Web Flow 1を使用する場合、Beanのリストにオブジェクトを追加するにはどうすればよいですか?
-
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>
その後、元のページが再び表示されます
他のヒント
いくつかのことを行う必要があります:
-
フロースコープにオブジェクトを配置(または、フォームなどの既存のオブジェクトに追加フィールドを追加)して、編集するオブジェクトへの固定バインディングパスを提供します。これを行わないと、Springのデータバインディングを利用できません。
-
FormActionにメソッドを記述して、このオブジェクトをリストに配置し、このメソッドを設定して、現在のページを送信したときの遷移で実行します。このメソッドは、必要に応じて(1)で使用されたフロースコープレベルのリソースをクリーンアップできます。
編集 Webflowドキュメントには、遷移でアクションを実行する方法の良い例があります。 Webflowバージョン2については、ビュー遷移の実行およびアクションの実行 。バージョン1については、フロー定義。
セッションにBean(およびリスト)を保存します。
所属していません StackOverflow