JSP 4章 ディレクティブ
- 4.1. ディレクティブとは
- 4.2. pageディレクティブ
- 4.3. taglibディレクティブ
- 4.4. includeディレクティブ
4.3. taglibディレクティブ
JSPでは1.1以降、標準のタグ以外に、独自に作成したカスタムタグを使用することができます。「taglib」ディレクティブはカスタムタグを使用可能にするための設定です。taglibディレクティブの属性は以下の2つです。
uri | タグライブラリのURIまたはタグライブラリ・ディスクリプタファイルのURI |
prefix | カスタムタグの接頭辞 |
例えば
<%@ taglib uri="sample.tld" prefix="sample" %>
で仕様を宣言されたカスタムタグは
<sample:(タグ名)... />
で使用することができます。カスタムタグおよびtaglibディレクティブに付いては、後の章で詳しく説明します。
4.4. includeディレクティブ
includeディレクティブはincludeアクションとほぼ同じ動作をします。JSPページから他のリソースを組み込んで表示を行いますが、次の2点で異なっています。
- includeディレクティブは、Servletプログラムに変換する時点で組み込まれる。includeアクションはリクエストのあった時点で組み込まれる。
- includeディレクティブは、静的にリソースを組みこみ、組み込んだ側のJSPページと一体で処理される。includeアクションは処理された結果が、組み込まれる。
したがって動的に組み込むリソースを変換したい場合には、includeアクションを利用し、静的に組み込む場合はincludeディレクティブを使用します。以下はその例です。
<%@ page contentType="text/html; charset=EUC-JP" import="java.util.*" %> <html> <body> <% Calendar calendar=Calendar.getInstance(); if(calendar.get(Calendar.AM_PM)==Calendar.AM){ %><jsp:include page="/am.jsp" /><% }else{ %><jsp:include page="/pm.jsp" /><% } %> <%@ include file="footer.html" %> </body> </html>
「午前」「午後」で表示されるJSPページが変わります。しかしそれには関わらず「footer.html」は表示されます。
(実習課題2)
3章の実習課題3のJSPページを改良しなさい。
- ページの先頭に「ヘッダー」、最後に「フッター」をincludeディレクティブを用いて追加する事。ヘッダー・フッターの内容は任意で良い。