2016-09-06 14 views
4

リクエスト属性を失うことなく、URLが/folder/mypage.jspに変更されるJSPページのリダイレクトを実行したいとします。Struts 2のリクエスト属性を失うことなくリダイレ​​クト

Struts 2でこの種のリダイレクトを実行する方法はありますか?

<result type="redirect">/folder/mypage.jsp</result> 
+1

要求にスコープされた変数を使用し、これらの変数を要求に追加できるアクションにリダイレクトする場合、結果パラメータに動的パラメータを追加するか、セッションに要求属性値を格納してください –

+0

ローマン、提案に感謝します! – youcanlearnanything

+1

新しいリクエストがあるときはいつでも、現在のリクエストの属性/パラメータが失われます。あなたはそれらをもう一度送る必要があります - これを達成するには複数の方法があります。厳密に "保持​​する"要求属性がそれ以上の価値があるという点で、[XY問題](http://xyproblem.info/)でもかまいません。 –

答えて

3

dispatcher結果タイプが必要です。このタイプの結果を使用してJSPページへのリダイレクトを実行すると、リクエストは新しいリクエストに転送されてリソースにディスパッチされます。結果の型はデフォルトでdispatcherです。

<result>/folder/mypage.jsp</result> 

このようにして、以前のリクエストのすべての属性を "保持"します。その後、Strutsフィルタはアクションの代わりにJSPページをデフォルトのサーブレットに委譲できますが、JSPでStrutsタグを使用できるようにアクションコンテキストが作成されます。

関連する問題