コンピュータクワガタ

かっぱのかっぱによるコンピュータ関連のサイトです

includeの検証2

include元のテストで以下のソースを書きました。問題なく動くようです。

<%@page pageEncoding="UTF-8"%>

<p>テスト</p>
<p>${hogeDto.hogeName}</p>
<p>${pageContext.request.contextPath}</p>

hogeDtoは、sessionScopeにおいてあるDtoです。

共通のスタイルの読み込みとか、共通のjsファイルの読み込みとかに使う分には問題なく使えそうです。

includeの検証-コンピュータクワガタ

は、多分に勘違い。
include元を

<h2>${f:url("hoge")}</h2>

とする。単独ではもちろん動く。
それに、

<%@page pageEncoding="UTF-8"%>

<p>テスト</p>
<p>${hogeDto.hogeName}</p>
<p>${pageContext.request.contextPath}</p>

をincludeすると、ぬるぽ
S2Functions#url()の
String contextPath = RequestUtil.getRequest().getContextPath();
で起きているので、メーリングリストで流れていた通りなのでしょう。
includeを使用する場合には、include元でもf:urlが使えないと。
Strutsの頃は、jsp:includeは結構使っていたのでちょっと痛いなと。

最後に、inlucde元でf:urlを使用せずに、include先で使った場合たとえば、以下のコードをinclude先とする。

<%@page pageEncoding="UTF-8"%>

<p>テスト</p>
<p>${hogeDto.hogeName}</p>
<p>${pageContext.request.contextPath}</p>

<h2>${f:url("hoge")}</h2>

これは、動く。
なんとなく見えたのは、include先と、include元でrequestを使うと動かない、、のか?
ソース嫁。読まないとわからないけど、すでに眠いので明日。