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

Naoki Takezoe [E-MAIL ADDRESS DELETED]
2008年 8月 13日 (水) 12:03:54 JST


竹添です。

たびたびすいません。

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]>


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