JSPの基礎知識

<%@ include %> と<jsp:include>の違い

テンアートニ 中越智哉
2001/6/27

 JSPには、ページのインクルードを実現するためのタグが2つ用意されています。<%@ include %><jsp:include>です。一見しただけでは記法が異なるだけで、動作は同じように思えますが、実はこの2つのタグには動作に明らかな違いがあります。

■<%@ include %>の場合

 このタグによって指定されたファイルは、JSPがサーブレットのファイルに変換される前に、JSPの一部としてインクルードされます。そして、インクルードされたものを含めてサーブレットに変換されてから実行されます。このタグでインクルードされたファイルが更新されても、JSP自体が更新されなければJSPに更新は反映されません。

インクルードされるファイル(下方)は、その内容が更新されても実行時にJSP側に反映されない

■<jsp:include>の場合

 このタグは、指定されたファイルをJSPの一部としてインクルードするのではなく、指定されたURLにリクエストを送信し、その応答内容を動的にリクエスト元に挿入して表示します。インクルードされるページとインクルードを行うJSPとは独立したページとして存在するため、インクルードされたファイルが更新されれば、元のJSP自体が更新されていなくても、動的に更新内容が結果に反映されます。

指定されたURLに対してリクエストを行い、その結果をリクエスト元に挿入して表示するため、常に更新が反映される

「Java Solution FAQ」




Java Agile フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Java Agile 記事ランキング

本日 月間