[Seasar-user:15381] Re: SAStrutsでc:importタグを使った場合

Naoki Takezoe [E-MAIL ADDRESS DELETED]
2008年 8月 13日 (水) 15:07:34 JST


竹添です。

さきほどポストさせていただいたS2ContainerFilterの多重適用ですが、
詳しく調べてみたところ、FORWARDのときはS2ContainerFilterを適用する
ようにしないとs:formでaction属性を省略したときのパスの自動計算がうまく
動かないみたいですね…。

とりあえず当方で問題になっているのはc:import(INCLUDE時)だけなので、
現在はweb.xmlからINCLUDEだけ削除して使用しています。INCLUDE時も
フィルタを適用したほうがいいよという情報をお持ちの方がいらっしゃいましたら
ご教示いただければと思います。

よろしくお願いします。

2008/08/13 12:03 Naoki Takezoe <[E-MAIL ADDRESS DELETED]>:
> 竹添です。
>
> たびたびすいません。
>
> SAStrutsでJSTLのc:importタグなどを使ってインクルードを行う場合に
> ついて質問させてください。
>
> http://sastruts.seasar.org/fileReference.html#web
> にあるweb.xmlの設定だとS2ContainerFilterがJSPへのフォワードや
> インクルード時に多重に適用されてしまい、フィルタを抜けるタイミングで
> ExternalContextにsetRequest(null)されてしまうため、後続のJSPの
> 処理でS2Containerからリクエストを取得するような処理を行おうと
> するとぬるぽが発生してしまいます。
>
> 具体的にはtaglibの中でリクエストスコープのコンポーネントを取得しようと
> した場合や、s:formタグでaction属性を相対パスで記述した場合(内部で
> ActionUtil#calcActionPath()が呼び出され、その中でRequestUtilから
> リクエストを取得しているところでぬるぽが発生します)などです。
>
> SAStrutsに限った話ではありませんが、単純にweb.xmlの
> S2ContainerFilterのマッピング設定からFORWARD、INCLUDEを
> 除外すれば済む話かと思うのですが、問題ないでしょうか。
>
> --
> Naoki Takezoe <[E-MAIL ADDRESS DELETED]>
>



-- 
Naoki Takezoe <[E-MAIL ADDRESS DELETED]>


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