[Seasar-user:16836] Re: [SAStruts] 画面遷移時の受け渡しパラメータについて
Yasuo Higa
[E-MAIL ADDRESS DELETED]
2009年 2月 5日 (木) 19:48:31 JST
ひがです。
> 瀧と申します。
>
> お世話になります。
>
> SAStrutsでの画面遷移についてご相談したいことがあります。
>
次のアクションにパラメータを渡したいなら、基本はFORWARD。
なんで次のアクションでPOSTしたデータが渡るのが不都合なのか
わかりません。
どうしてもREDIRECTで遷移したい場合は、
・URLの一部に埋める(urlPatternを使う)
・QueryStringで渡す。
・セッションで渡す
の3パターンから選ぶのが普通です。
> 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 mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
Seasar-user メーリングリストの案内