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