0

私の Struts2 アプリケーションの一般的なユースケースは、JSP ページに表示されるデータを収集するアクションがあることです。これらをビュー アクションと呼びます。

しかし、バックグラウンドで何かを「実行」するロジック アクションもあります (ユーザーの登録など)。これらには、JSP で表示する必要がある Bean もあるかもしれませんが、結果をビュー アクションの 1 つにリダイレクトする必要があります。

悲しいことに、最初のアクションから必要な Bean は ValueStack に転送されず、ビュー アクションからのゲッターからの値のみが転送されます。例:

<action name="mailConfirm" class="de.abelssoft.updateyeti.Frontend.MailConfirmer">
  <result name="login" type="redirectAction">
    <param name="actionName">register</param>
    <param name="email">${person.email}</param>
  </result>
  <result name="input" type="redirectAction">
    <param name="actionName">register</param>
  </result>
</action>

ここで見逃しているパターンは何ですか? それとも、必要なものをすべて応答コンテキストに保存する必要がありますか?

4

1 に答える 1

0

この質問には答えられなかったので、私が何をしたかをお話しします。「良い答え」を提供できなくて申し訳ありません。

私は2つのインターセプターを書きました。1 つはメッセージ オブジェクトをユーザー セッションに一時的に格納する論理アクション用で、もう 1 つはユーザー セッションからメッセージ オブジェクトを取得および削除するビュー アクション用です。

必要に応じて論理アクション インターセプターを使用し、他のすべてのアクションには viewaction インターセプターを使用して、ビュー アクションの前にアクションのリダイレクトが発生したときにメッセージ オブジェクトが検出されて使用されるようにしました。

于 2010-08-17T10:04:17.750 に答える