[Seasar-user:16835] [SAStruts]画面遷移時の受け渡しパラメータについて

Minoru Taki [E-MAIL ADDRESS DELETED]
2009年 2月 5日 (木) 19:19:12 JST


瀧と申します。

 お世話になります。

 SAStrutsでの画面遷移についてご相談したいことがあります。

 SAStrutsのドキュメントで下記文章があります。

>JSPはアクションを経由して表示したほうがいいでしょう。
>最初は、アクションで何もすることがなくても、後から必要になった場合に、
>URLが変わらないようにするためです。
>また、セキュリティ的なチェックを入れたいときも、 
>アクションを経由するほうが何かと便利です。 
>
>リダイレクトで、他のJSPへ遷移するときも、戻り値を下記のようにして、 アクションを経由するようにします。 
>
> return "/アクション名/メソッド名?redirect=true";

 これはつまり、アクション連鎖を述べていると思いますが、
 画面遷移redirect=trueの場合

  JSP(A)→ACTION(A)
            ↓(redirect)
 JSP(B)←ACTION(B)

 のようになります。
 リダイレクトにする理由は、フォワードするとJSP(A)でPOSTしたデータがACTION(B)に渡されるのが
 都合が悪いからと認識しています。

 このリダイレクトでBに行った場合、METHOD="GET"になるため、
 画面遷移時に受け渡したいパラメータはURLのQueryStringに繋げるか、
 セッションに格納などしなければなりません。
 QueryStringはブラウザのURLに見えてしまい、セキュリティ上問題となる場合があるため、
 できればデータを格納したくありません。セッション経由は渡すのは楽ですが、消し込み等の考慮が必要です。

 リダイレクトでなくフォワードであれば、RequestAttributeが使えるのですが、
 JSP(A)のPOSTパラメータがACTION(B)に渡ってしまいます。

 何か良い方法はありませんでしょうか?
 (皆さんどのように実装しているのでしょうか?半分Strutsの質問になっているかもしれません・・・。)

 SAStrutsでの画面遷移の受け渡しパラメータの処理方法の定石等があれば、
 アドバイスを頂きたく、よろしくお願いいたします。





Seasar-user メーリングリストの案内