[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends-ml 10824] Re: More Java Pitfalls を 読む会第 5 回議事録



宮本@muimiです。

jspまわりでちょっとだけ。


>■Item29: Some Direction about JSP Reuse and Content Delivery
>リスト29.1の6行目:<jsp:include>は誤り。ディレクティブなので、
><%@で始まる必要がある。
>ディレクティブ:include先のjspを修正しても、inckude元のjspに変更がなけ
>れば再コンパイルされない。
>アクション:include先のjspを修正したら、再コンパイルされる。
>ディレクティブとアクションの性能差は、forwardが発生するかしないかの差
>
>flushの有無は?
>→ 宿題

その名のとおり、バッファをフラッシュする(JspWriterへの書き込みをフラッシ
ュ)。
なお、JSP1.1(昔)はflush指定が必須の上に有効な値がtrueだけでした。
JSP1.2(今)以降は指定は不要だが、昔のバージョンと互換性を持たせるために
trueをセットしたりもする。

>
>JSTL:最近は、JSP Standard Tag Libraryと呼ばれる
>
>最近のJSP仕様では、includeでURL指定できるのではないか?
>→ 要確認(宿題)

他のURL取り込み機能は、jsp:includeではできなさそうです。

JSP1.2のSyntax Guide
http://java.sun.com/products/jsp/pdf/card12.pdf
だと以下のようになっています。

<jsp:include page="{relativeURL | <%= expression %>}"
[ flush="true | false" ]
{ /> | > [ <jsp:param name="parameterName"
value="{parameterValue | <%= expression %>}" /> ] +
</jsp:include> }

pageに指定する値は、現在のJSPの相対URL、あるいは、/からはじめた場合はコ
ンテキストルートからのURLなので、
・他のWebアプリのコンテキスト
・WebアプリでさえないURLのレスポンス
を返せないように見えます。

JSP2.0もJavaDocを見るかぎりは同じような感じでした。

↓あまり関係ないけど参考(jspアクションとディレクティブはどっちがどう)
http://www-6.ibm.com/jp/developerworks/java/030704/j_j-jsp04293.html



>SimpleDateFormatはスレッドセーフでないので使用注意。

はーい。