7

Struts2.3 コンテキストでのredirectとの主な違いは何ですか。redirectAction

redirectおよびredirectActionの以下の URL を見てきました。

私は以下の点について明確です:

  • リダイレクトは sendRedirect() メソッドのようなものです。以前の値スタックとアクション (アクション インスタンス、アクション エラー、フィールド エラーなど) をクリアする新しいリクエストが作成され、使用できなくなります。
  • ではredirectAction、コントロールは別のアクションにジャンプします (同じまたは別のパッケージ内)。
  • redirectActionリダイレクトよりも推奨されます。

しかし、上記の両方の例を実装したときは、変更するだけで済みましたstruts.xml

  • どちらも、アクションが利用できなくなり、
  • 新しいリクエストが作成され、
  • 生成された URL は同じでした。

まず、Apache のドキュメントに書かれているステートメントと混同しています。redirectAction

これは、ActionMapper によって処理された URL パターンを struts.xml 構成ファイルにエンコードする必要がないため、ServletRedirectResult よりも優れています。つまり、URL パターンをいつでも変更でき、アプリケーションは引き続き機能します。別のアクションにリダイレクトする場合は、標準のリダイレクト結果ではなく、この結果を使用することを強くお勧めします。

第二に、私はこれら両方の違いについてまだあまり明確ではありません.

4

2 に答える 2

2

違いは明らかです:redirectActionは単なる別の結果タイプでありredirect、属性actionNamenamespace、およびを提供する結果タイプを拡張しますmethod。これらの属性は、結果タイプのlocation属性の代わりに使用される URI を構築するために使用されます。redirect

ステートメントは問題ありません。手動でコーディングするのではなくActionMapping、結果の型によって実装されるURL を作成することをお勧めします。redirectAction手動でも、ハードコーディングのUrlHelper代わりに常に使用します。JSP では常にs:urlタグを使用します。

于 2013-09-25T12:33:12.933 に答える