[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 メーリングリストの案内