| 2.JSP のディレクティブ |
| (1) ディレクティブの種類 |
構文 <%@ ディレクティブ 属性=値 %> |
| ディレクティブ | 内容 | page | JSPページの様々な属性を定義します | taglib | JSPページが使用するタグライブラリを宣言します | include | JSPページに外部ファイルの内容をJavaコード変換時に挿入します |
|---|
| (2) page ディレクティブ |
| 属性 | 説明 |
|---|---|
| import | インポートするパッケージを指定します。カンマで区切れば複数指定できます。 例 <%@ page import="java.util.*,java.text.SimpleDateFormat"%> |
| session | このJSPページがセッションに参加するかどうか指定します。trueを指定した場合はsessionオブジェクトを使用してセッションの情報を取得できます。falseを指定した場合はsessionオブジェクトを使用できません。規定値はtrueです。 |
| buffer | ページ出力時のバッファのサイズを指定します。noneを指定するとバッファリングを行いません。規定値は8kbです。
例 <%@ buffer="16kb" %>   <%@ buffer="none" %> |
| autoFlush | バッファが一杯になった時に自動的にフラッシュするかどうか(true)、またはバッファが一杯になった場合に例外を投げるかどうか(false)、を指定します。規定値はtrueです。bufferがnoneに指定されている場合はautoFlashはfalseにできません。 |
| isThreadSafe | スレッドセーフのレベルを指定します。 falseの場合、ページのインスタンスはクライアントからの要求を一つのスレッドで処理します。コンテナは一つのインスタンスへのアクセスを排他制御することでそのような動作を保証しています。複数の要求が同時にある場合、コンテナによってはプールしてある別のインスタンスで処理したり、新たにインスタンスを生成して処理したりする場合もあります。 trueの場合、複数のスレッドを用いて一つのJSPページで一度に複数のクライアントの要求を処理します。規定値はtrueです。 |
| info | JSPページの情報を記述します。 例 <%@ page info="Java Hello World JSP Page" %> |
| isErrorPage | 別のJSPページからの例外を処理するかどうかを指定します。trueの場合は別のJSPページで発生した例外を参照するexecptionオブジェクトが使用可能になります。falseの場合はexceptionオブジェクトを使用できません。規定値はfalseです。 |
| errorPage | このJSPページで処理されなかった例外を処理する別のページのURLを指定します。例外を処理するページはpageディレクティブでisErrorPage属性をtrueに設定します。 例 <%@ page errorPage="/error.jsp" %> |
| contentType | JSPページが生成する応答の文字セットとMIMEタイプを指定します。 例 <%@ page contentType="text/html; charset=Shift_JIS"%> |
| pageEncoding | JSPページが生成する応答の文字セットを指定します。 例 <%@ page pageEncoding="Shift_JIS" %> |
| (3) taglibディレクティブ |
5 章のカスタムタグと関連するディレクティブです。
| 属性 | 説明 |
|---|---|
| uri | タグライブラリディスクリプタファイルの絶対パスまたは相対パスを指定します。 例 TLDの所在を"/jsp/helloworld.tld"、タグプリフィックスを"ta" とします。 <%@ taglib uri="/jsp/helloworld.tld" prefix="ta"%> |
| prefix | カスタムタグに使用する接頭辞文字列を指定します。jsp,jspx,java,javax,servlet,sun,sunwは予約されているため指定できません。また、空の文字列も指定できません。 例 前の uri を参照。 |
| (4) includeディレクティブ |
| 属性 | 説明 |
|---|---|
| file | JSPページにテキストやJSPのコードが記述された外部ファイルの内容をJavaコード変換時に挿入します。
例 <%@include file="helloworld.html" %> |
| (5) 練習問題 |
「 helloworldsjis.jsp 」を作成し、... \webapps\examples\jsp の下に置きます。
<%@ page contentType="text/html; charset=Shift_JIS" %> <html> <head> <title>Hello World JSP</title> </head> <body> <% String s1= "Hello World "; out.println(s1); String s2= "日本語でこんにちは"; out.println(s2); %> </body> </html> |