春のWebflowのベストプラクティス
-
11-09-2019 - |
質問
私は、フレームワークとして、スプリングのWebflowを使用してJava Webアプリケーションを持っています。私は、プレーンフローXMLでデータを処理に問題があります。処理が複雑になると、私はそれは難しいウェブフローのフローXMLを使用して実装することを見つけます。私は、これらの操作を実行するためにコントローラを使用するのでは検討していました。私はこれを行うにはどうすればよいです。ウェブの流れにコントローラを使用しては考えています。そして、コントローラからの私は、処理を継続するために、あまりにもフローXMLにジャンプすることができますか?
私の問題の例は、フォームを提出しています。ここではシナリオがあります。私は、ユーザーテーブルと当局のテーブルを持っています。また、私はここにHibernateを使用tablebecを表すUserクラスを持っています。私のレジスタページでは、私は、ユーザー名、パスワード、および権限(ユーザーではなくクラスのフィールド)のフィールドを持っています。私はバインディングのWebflow春を使用して、私のユーザーオブジェクトにこのフォームをバインドします。私の問題は、それが私のUserクラスに存在しないので、私は権限フィールドをバインドすることはできませんです。私は自分のフォームを表すBeanを作成する必要がありますか?私は別のテーブル機関にUsersテーブルと権限のユーザー名とパスワードを追加する必要があります。どこでユーザーオブジェクトと権限オブジェクトの初期化を行うか、またはどこのPOJOにregisterFormBeanから値を設定するのですか?私はそれが良い方法はないと思うか、それは私の流れのxmlが複雑になります。
解決
あなたがすることによってこれを実現することができます JSFのようなコントローラとして+のWebflow + MVCプレゼンテーション
最初のユーザー名、パスワード、権限を持つバッキングBeanを作成します。 その後、WebflowのセッションでバッキングBeanを作成してみましょう 提出するときにアクションが@Controller「春のMVC」と呼びます そして、コントローラは、あなたのビジネスを呼び出します あなたはHibernateの
としてそれを実装し、ビジネスコールDAOこのような
<on-start>
<evaluate expression="youractionClass.createbackingBean()" result="conversationScope.yourbean" />
</on-start>
第二溶液 ユーザー名、パスワード、権限を含むモデルにビューをバインドすることができます 提出するときにアクションが@Controller「春のMVC」と呼びます そして、コントローラは、あなたのビジネスを呼び出します あなたはHibernateの
としてそれを実装し、ビジネスコールDAO<view-state id="registerForm" model="registerBean"