私は現在、望ましい結果を生み出すためにウィザード/ワークフローを統合する Struts2 アプリケーションに取り組んでいます。より明確にするために、3 つの異なるページで (主に AJAX 呼び出しで) 変更されるビジネス オブジェクトがあります。現時点では、ModelDriven アクション (同じビジネス オブジェクトで動作するすべてのアクションによって拡張されます) を Scope インターセプターと組み合わせて使用しています。これは、ユーザーが一度に 1 つのビジネス オブジェクトのデータのみを処理している場合は問題なく機能しますが、ユーザーが複数のタブで異なるオブジェクトのウィザードを開くと (そして、物事をより速く完了したい場合にこれを行います)、すべてが面倒になります。主に、セッションに保存されているビジネス オブジェクトが 1 つしかないという事実が原因です。
Conversation Scope Interceptor の使用に関する記事 (メイン記事) と Scope プラグインの使用に関する記事 (こちら)をいくつか読みました。ただし、どちらのアプローチにも問題があるようです。
- Conversation Scope Interceptor は、会話を自動的に期限切れにすることも、Struts2 と適切に統合することもありません。
- Scope プラグインには適切なドキュメントがなく、最後のビルドは 2007 年に作成されました (実際には、Mark Menard が Conversation Scope Interceptor を定義するときに書いたアイデアの一部が含まれていますが、同じコードは使用されていません)。
Spring の WebFlow プラグインは、現時点で使用するには少し複雑すぎるようです。現在、数時間で実装できるものを探していますが、必要に応じて機能するものを提案していただければ構いませんが、現在これに費やしたいよりも多くの時間が必要な場合でもかまいません。 .
ベテランの Struts2 開発者の皆さん、何を提案しますか? これをどのように実装すればよいですか?