0

Struts2 redirectAction result Person のような参照型を転送できます。

私のコード

    <action name="saveAdAction" class="saveAdAction">
        <result name="success" type="redirectAction">
            <param name="actionName">getAdAction</param>
            <param name="namespace">/</param>
            <param name="person">${person}</param>
        </result>           
    </action>

    <action name="getAdAction" class="getAdAction">     
        <result name="success">/ad/ad.jsp</result>
        <result name="input">/index.jsp</result>
    </action>

その人は、saveAdAction と getAdAction の Bean です。

saveAdAction を使用すると、Web ページが index.jsp にジャンプします。なぜ?

4

2 に答える 2

1

いいえ、通常のサーブレット リダイレクトと同様に、リダイレクトはリクエスト パラメータのみを転送できます。そのため、 person の各属性をリクエスト パラメータとして渡すか、次のアクションで検索できるキーを使用して person をセッションに配置する必要があります。

于 2013-04-11T05:02:04.877 に答える
1

いいえ、これは不可能ですredirectAction。新しい値スタックが作成され、リクエストとレスポンスの新しいインスタンスが作成されます。

そのため、以前のデータはすべて失われます。データを転送できる方法はいくつかあります。

  1. セッションでデータを保存し、他のアクションで取得します。
  2. あなたのケースでは不可能なクエリ文字列を渡します。
  3. メッセージストアインターセプターを使用する

上記のオプションのいずれかを選択できます

于 2013-04-11T05:42:26.037 に答える