ディレクティブ
JSP(Java Server Page)は、HTML文書にJavaプログラムを埋め込む形で記述します。そのため、デザインを重視したプログラムが書きやすくなっています。また、Webアプリケーション構成の「View」の役割を担わせることができます。
JSPにはいくつかの書式があります。そのうちの一つのディレクティブは、Webロジックに対して指示をするときに指定します。
ディレクティブの書式 |
---|
<%@ ディレクティブ名 属性=値 %> |
■ pageディレクティブ
属性 | 説明 |
---|---|
language="スクリプト言語" | JSPページで使用する言語を指定する。デフォルト値として「java」が設定されている。 |
extends="パッケージ名.クラス名" | JSPサーブレットが継承するスーパークラスを指定する。JSPファイルをJSPサーブレットに変換するときに使用される。 |
import="インポートするパッケージ名" |
宣言、スクリプトレット、式などで使用されるパッケージのインポートを指定する。なお、次のパッケージはデフォルトでインポートされている。 java.lang.* javax.servlet.* javax.servlet.http.* javax.servlet.jsp.* |
session="true | false" |
セッションを有効にするかどうかを指定する。 true:有効 false:無効 |
buffer="none | ~kb" |
JSPページから出力する際に使用するバッファサイズを指定する。 デフォルトでは「8kB」が設定される。 |
autoFlush="true | false" |
バッファを超える出力データがあった場合にどのように扱うかを指定する。 true:クライアントに送信 false:例外をスロー |
isThreadSafe="true | false" |
複数のクライアントからのリクエストを同時に処理できるかどうかを指定する。デフォルトでは「true」が設定される。 true:同時に処理する false:順番に処理する |
info="text" | 作成者、バージョン、コピーライトなどの情報を指定する。 |
errorPage="URL" | エラーが発生したときに表示するページのパスを指定する。指定しない場合はドフォルトのエラーページが表示される。 |
isErrorPage="true | false" | JSPページがエラー表示用のページかどうかを指定するデフォルトでは「false」が設定される。 |
contentType="MIMEType,CharSet" | JSPページのデータ型と、文字コード指定する。 |
○ ファイル
次のJSPファイルをプロジェクトに追加してください。
ファイル名 | PageDirective.jsp |
---|
○ プログラム
次のようにプログラムを入力してください。
PageDirective.jsp
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- <%@ page import="java.text.*" %>
- <%@ page import="java.util.*" %>
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title>pageディレクティブテスト</title>
- </head>
- <body>
- 今日の日付
- <hr>
- <% SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日"); %>
- <%= sdf.format(new Date()) %>
- </body>
- </html>
○ 実行結果
http://localhost:8080/WebApp/PageDirective.jsp
○ 解説
今回のサンプルではDateクラスとSimpleDateFormatクラスを使用していますが、それらのクラスを使用するために3行目と4行目で、必要なパッケージをインポートしています。
■ includeディレクティブ
属性 | 説明 |
---|---|
file="URL" | 指定した位置にHtmlファイルやJSPファイルを読み込む。 |
○ ファイル
次のJSPファイルをプロジェクトに追加してください。
ファイル名 | IncludeDirective.jsp |
---|
○ プログラム
次のようにプログラムを入力してください。
IncludeDirective.jsp
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title>includeディレクティブテスト</title>
- </head>
- <body>
- <%@ include file="JSPTest.jsp" %>
- </body>
- </html>
○ 実行結果
http://localhost:8080/WebApp/IncludeDirective.jsp
○ 解説
今回のサンプルでは10行目で、JSPTest.jspファイルをインクルードしています。その位置に、指定したファイルの内容が配置されることになります。