<jsp:include> は他のJSPページを動的にインクルードするJSPアクションタグです。ヘッダーやフッターなど、各ページで共通の部分を部品化することができます。<jsp:param> を使って、インクルードするページへパラメータを渡すこともできます。
開始タグと終了タグの間に入れるコンテンツが無い場合は、終了タグを省略できる。
<jsp:include page="/footer.jsp" />
<jsp:param>
タグを使って、インクルードするページにパラメータを指定することもできる。
開始タグと終了タグの間に子要素としてパラメータを指定する。
<jsp:include page="/header.jsp" >
<jsp:param name="user" value="tsuka" />
</jsp:include>
<jsp:include> タグには次の属性を指定する。
絶対パスで指定するときのルートパスは、Context path で指定した docBase になる。
<Context path="/jsp" docBase="/home/tsuka/jsp" crossContext="false" debug="0" reloadable="true">
</Context>
値 | 説明 |
---|---|
true | 出力バッファをフラッシュする。 |
false | 出力バッファをフラッシュしない。 |
<jsp:include page="/header.jsp" flush="false" />
JSPアクションタグ <jsp:include> のサンプルを次に示す。
<%@ page contentType="text/html;charset=UTF-8" %>
<!DOCTYPE html>
<html>
<head>
<title>JSP include example</title>
</head>
<body>
<jsp:include page="/header.jsp" />
<!-- content -->
<jsp:include page="/footer.jsp" />
</body>
</html>
インクルードするページにパラメータを指定することもできる。
<%@ page contentType="text/html;charset=UTF-8" %>
<!DOCTYPE html>
<html>
<head>
<title>JSP include example</title>
</head>
<body>
<jsp:include page="/header.jsp">
<jsp:param name="user" value="tsuka" />
<jsp:param name="type" value="prime" />
</jsp:include>
<!-- content -->
<jsp:include page="/footer.jsp" />
</body>
</html>
<jsp:include>
アクションタグと <%@ include %>
ディレクティブは、どちらも他のページをインクルードすることができる。両者には次のような違いがある。
<jsp:include> |
<%@ include %> |
|
---|---|---|
インクルードするタイミング | 実行時 | コンパイル時 |
実行速度 | 遅い | 速い |
パラメータ | 渡せる | 渡せない |
用途 | 動的コンテンツ(JSP) | 静的コンテンツ(HTML) |
<jsp:include>
アクションタグは実行時にインクルードするため、動的コンテンツをインクルードするのに向いている。
HTMLのような静的コンテンツをインクルードするには、<%@ include %>
ディレクティブを使用したが方がよい。
JSPのタグには次のものがある。