<jsp:include>

<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> タグには次の属性を指定する。

page
インクルードするJSPページを絶対パスまたは相対パスで指定する。

絶対パスで指定するときのルートパスは、Context path で指定した docBase になる。

<Context path="/jsp" docBase="/home/tsuka/jsp" crossContext="false" debug="0" reloadable="true">
</Context>
flush
インクルード後に出力バッファをフラッシュするかどうかを指定する。デフォルト値は false である。
flush
説明
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 %> ディレクティブは、どちらも他のページをインクルードすることができる。両者には次のような違いがある。

includeアクションとincludeディレクティブの違い
<jsp:include> <%@ include %>
インクルードするタイミング 実行時 コンパイル時
実行速度 遅い 速い
パラメータ 渡せる 渡せない
用途 動的コンテンツ(JSP) 静的コンテンツ(HTML)

<jsp:include> アクションタグは実行時にインクルードするため、動的コンテンツをインクルードするのに向いている。

HTMLのような静的コンテンツをインクルードするには、<%@ include %> ディレクティブを使用したが方がよい。

JSPタグ

JSPのタグには次のものがある。