|
<%@ 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に対してリクエストを行い、その結果をリクエスト元に挿入して表示するため、常に更新が反映される |