Jsp-page-directive
JSP-ページディレクティブ
*page* ディレクティブは、現在のJSPページに関連する指示をコンテナに提供するために使用されます。 JSPページのどこにでもページディレクティブをコーディングできます。 慣例により、ページディレクティブはJSPページの上部にコーディングされます。
以下はページディレクティブの基本的な構文です-
<%@ page attribute = "value" %>
次のように上記の構文に相当するXMLを書くことができます-
<jsp:directive.page attribute = "value"/>
属性
次の表は、ページディレクティブに関連付けられている属性を示しています-
S.No. | Attribute & Purpose |
---|---|
1 |
buffer 出力ストリームのバッファリングモデルを指定します。 |
2 |
autoFlush サーブレット出力バッファの動作を制御します。 |
3 |
contentType 文字エンコード方式を定義します。 |
4 |
errorPage Javaの未チェックのランタイム例外を報告する別のJSPのURLを定義します。 |
5 |
isErrorPage このJSPページが別のJSPページのerrorPage属性で指定されたURLであるかどうかを示します。 |
6 |
extends 生成されたサーブレットが拡張する必要があるスーパークラスを指定します。 |
7 |
import JavaインポートステートメントがJavaクラスに対して行うように、JSPで使用するパッケージまたはクラスのリストを指定します。 |
8 |
info サーブレットの* getServletInfo()*メソッドでアクセスできる文字列を定義します。 |
9 |
isThreadSafe 生成されたサーブレットのスレッドモデルを定義します。 |
10 |
language JSPページで使用されるプログラミング言語を定義します。 |
11 |
session JSPページがHTTPセッションに参加するかどうかを指定します。 |
12 |
isELIgnored JSPページ内のEL式を無視するかどうかを指定します。 |
13 |
isScriptingEnabled スクリプト要素の使用を許可するかどうかを決定します。 |
バッファ属性
*buffer* 属性は、サーバー出力応答オブジェクトのバッファリング特性を指定します。
「 none 」の値をコーディングしてバッファリングを指定しないと、サーブレットの出力はすぐに応答オブジェクトに送られます。または、最大バッファサイズをキロバイト単位でコーディングして、サーブレットに書き込む前にバッファに書き込むように指示できます。応答オブジェクト。
応答出力オブジェクトに出力を直接書き込むようサーブレットに指示するには、次を使用します-
<%@ page buffer = "none" %>
以下を使用して、8キロバイト以上のサイズのバッファに出力を書き込むようサーブレットに指示します-
<%@ page buffer = "8kb" %>
autoFlush属性
*autoFlush* 属性は、バッファがいっぱいになったときにバッファ出力を自動的にフラッシュするか、バッファオーバーフローを示すために例外を発生させるかを指定します。
- true(デフォルト)*の値は、自動バッファーフラッシュを示し、falseの値は例外をスローします。
次のディレクティブにより、サーブレットの出力バッファがいっぱいになったときに、サーブレットは例外をスローします-
<%@ page autoFlush = "false" %>
このディレクティブにより、サーブレットはいっぱいになると出力バッファをフラッシュします-
<%@ page autoFlush = "true" %>
通常、バッファとautoFlush属性は、次のように単一のページディレクティブにコーディングされています-
<%@ page buffer = "16kb" autoflush = "true" %>
contentType属性
contentType属性は、JSPページおよび生成された応答ページの文字エンコードを設定します。 デフォルトのコンテンツタイプは text/html で、これはHTMLページの標準コンテンツタイプです。
あなたのJSPからXMLを書きたい場合は、次のページディレクティブを使用します-
<%@ page contentType = "text/xml" %>
次のステートメントは、生成されたページをHTMLとしてレンダリングするようブラウザに指示します-
<%@ page contentType = "text/html" %>
次のディレクティブは、Microsoft Word文書としてコンテンツタイプを設定します-
<%@ page contentType = "application/msword" %>
応答の文字エンコードを指定することもできます。 たとえば、ブラウザに返される結果のページが ISO Latin 1 を使用するように指定する場合は、次のページディレクティブを使用できます-
<%@ page contentType = "text/html:charset=ISO-8859-1" %>
errorPage属性
*errorPage* 属性は、現在のページの実行中にエラーが発生した場合に表示するページをJSPエンジンに指示します。 errorPage属性の値は相対URLです。
すべてのキャッチされていない例外がスローされると、次のディレクティブはMyErrorPage.jspを表示します-
<%@ page errorPage = "MyErrorPage.jsp" %>
isErrorPage属性
*isErrorPage* 属性は、現在のJSPを別のJSPのエラーページとして使用できることを示します。
isErrorPageの値はtrueまたはfalseです。 isErrorPage属性のデフォルト値はfalseです。
たとえば、 handleError.jsp はisErrorPageオプションをtrueに設定します。これはエラーを処理することになっているためです-
<%@ page isErrorPage = "true" %>
extends属性
*extends* 属性は、生成されたサーブレットが拡張する必要があるスーパークラスを指定します。
たとえば、次のディレクティブは、サーブレットが somePackage.SomeClass を拡張するようにサーブレットを生成するようJSPトランスレータに指示します-
<%@ page extends = "somePackage.SomeClass" %>
インポート属性
*import* 属性は、Java importステートメントと同じ機能を果たし、Java importステートメントのように動作します。 インポートオプションの値は、インポートするパッケージの名前です。
- java.sql。**をインポートするには、次のページディレクティブを使用します-
<%@ page import = "java.sql.*" %>
複数のパッケージをインポートするには、次のようにコンマで区切って指定できます-
<%@ page import = "java.sql.*,java.util.*" %>
デフォルトでは、コンテナは* java.lang。、javax.servlet。、javax.servlet.jsp。、*および javax.servlet.http。**を自動的にインポートします。
情報属性
*info* 属性を使用すると、JSPの説明を提供できます。 以下は、コーディング例です-
<%@ page info = "This JSP Page Written By ZARA" %>
isThreadSafe属性
*isThreadSafe* オプションは、ページをスレッドセーフとしてマークします。 デフォルトでは、すべてのJSPはスレッドセーフと見なされます。 isThreadSafeオプションをfalseに設定すると、JSPエンジンは、一度に1つのスレッドのみがJSPを実行するようにします。
次のページディレクティブは、 isThreadSafe オプションをfalseに設定します-
<%@ page isThreadSafe = "false" %>
言語属性
*language* 属性は、JSPページのスクリプトで使用されるプログラミング言語を示します。
たとえば、通常はスクリプト言語としてJavaを使用するため、言語オプションは次のようになります-
<%@ page language = "java" %>
セッション属性
*session* 属性は、JSPページがHTTPセッションを使用するかどうかを示します。 trueの値は、JSPページが組み込みの *session* オブジェクトにアクセスできることを意味し、falseの値は、JSPページが組み込みのセッションオブジェクトにアクセスできないことを意味します。
次のディレクティブにより、JSPページは* session.getCreationTime()または session.getLastAccessTime()*などの組み込みオブジェクトセッションメソッドのいずれかを使用できます-
<%@ page session = "true" %>
isELIgnored属性
isELIgnored属性を使用すると、JSP 2.0で導入された式言語(EL)式の評価を無効にすることができます。
属性のデフォルト値はtrueです。つまり、式 $ \ {…} は、JSP仕様の指示に従って評価されます。 属性がfalseに設定されている場合、式は評価されず、静的テキストとして扱われます。
次のディレクティブは、評価されない式を設定します-
<%@ page isELIgnored = "false" %>
isScriptingEnabled属性
*isScriptingEnabled* 属性は、スクリプト要素の使用を許可するかどうかを決定します。
- デフォルト値(true)*は、スクリプトレット、式、および宣言を有効にします。 属性の値がfalseに設定されている場合、JSPがスクリプトレット、式(EL以外)、または宣言を使用すると、変換時エラーが発生します。
スクリプトレット、式(非EL)、または宣言の使用を制限する場合、属性の値をfalseに設定できます-
<%@ page isScriptingEnabled = "false" %>