English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
JSPのインラインオブジェクトは、JSPコンテナが各ページに提供するJavaオブジェクトで、開発者はそれらを使用することができます。インラインオブジェクトは、プレ定義された変数とも呼ばれます。
JSPがサポートする九大のインラインオブジェクト:
オブジェクト | 説明 |
---|---|
request | HttpServletRequest インターフェースの例 |
response | HttpServletResponse インターフェースの例 |
out | JspWriterクラスの例で、結果をウェブページに输出するために使用されます |
session | HttpSessionクラスの例 |
application | ServletContextクラスの例で、アプリケーションコンテキストに関連しています |
config | ServletConfigクラスの例 |
pageContext | PageContextクラスの例で、JSPページのすべてのオブジェクトおよびネームスペースへのアクセスを提供します |
page | Javaクラスの中のthisキーワードに似ています |
Exception | Exceptionクラスのオブジェクトは、エラーが発生したJSPページに対応する例外オブジェクトを表します |
requestオブジェクトはjavax.servlet.http.HttpServletRequestクラスの例で、クライアントがJSPページをリクエストするとき、JSPエンジンはそのリクエストを代表する新しいrequestオブジェクトを作成します。
requestオブジェクトはHTTPヘッダー情報、cookies、HTTPメソッドなどの一連のメソッドを提供します。
responseオブジェクトはjavax.servlet.http.HttpServletResponseクラスの例で、サーバーがrequestオブジェクトを作成するとき、同時にこのクライアントに対するresponseオブジェクトも作成されます。
responseオブジェクトもHTTPヘッダーモジュールのインターフェースを定義しています。このオブジェクトを通じて、開発者は新しいcookies、タイムスタンプ、HTTPステータスコードなどを追加できます。
outオブジェクトは、javax.servlet.jsp.JspWriterクラスの例で、responseオブジェクトに内容を書き込むために使用されます。
最初のJspWriterクラスのオブジェクトは、ページにキャッシュがあるかどうかによって異なる例示化操作を行います。page指令でbuffered='false'属性を使用してキャッシュを簡単にオフにできます。
JspWriterクラスは、java.io.PrintWriterクラスのほとんどのメソッドを含んでいます。ただし、JspWriterクラスはキャッシュ処理に特化したメソッドも追加しています。また、JspWriterクラスはIOExceptions例外をスローしますが、PrintWriterはしません。
以下の表は、boolean、char、int、double、String、objectなどのデータタイプを出力するために使用される重要なメソッドを示しています:
メソッド | 説明 |
---|---|
out.print(dataType dt); | Typeタイプの値を出力 |
out.println(dataType dt); | Typeタイプの値を出力して改行 |
out.flush(); | 出力ストリームをリフレッシュ |
sessionオブジェクトは、javax.servlet.http.HttpSessionクラスの例で、Java Servletsのsessionオブジェクトと同じ動作をします。
sessionオブジェクトは、さまざまなクライアントリクエスト間のセッションを追跡するために使用されます。
applicationオブジェクトは、servletのServletContextクラスのオブジェクトを直接包装しており、javax.servlet.ServletContextクラスの例です。
このオブジェクトは、JSPページの全体のライフサイクルを通してそのJSPページを表します。このオブジェクトは、JSPページの初期化時に作成され、jspDestroy()メソッドの呼び出しに伴って削除されます。
applicationに属性を追加することで、あなたのwebアプリケーションを構成するすべてのJSPファイルがこれらの属性にアクセスできます。
configオブジェクトは、javax.servlet.ServletConfigクラスの例で、直接servletのServletConfigクラスのオブジェクトを包装しています。
このオブジェクトは、開発者がServletまたはJSPエンジンの初期化パラメータ(例えば、ファイルパスなど)にアクセスできるようにします。
以下はconfigオブジェクトの使用方法ですが、重要ではありませんので、あまり使用されません:
config.getServletName();
それが<servlet-name>要素内のservletの名前、注意して、<servlet-name>要素はWEB-INF/web.xmlファイルで定義されています。
pageContextオブジェクトは、javax.servlet.jsp.PageContextクラスの例で、全体のJSPページを表します。
このオブジェクトは、ページ情報にアクセスし、ほとんどの実装の詳細をフィルタリングするために使用されます。
このオブジェクトは request オブジェクトと response オブジェクトの参照を保存しています。application オブジェクト、config オブジェクト、session オブジェクト、out オブジェクトは、このオブジェクトの属性を通じてエクスポートできます。
pageContext オブジェクトは JSP ページに渡されるコマンド情報、キャッシュ情報、ErrorPage URL、ページscopeなどを含んでいます。
PageContext クラスは PAGE_SCOPE、REQUEST_SCOPE、SESSION_SCOPE、APPLICATION_SCOPE などのフィールドを定義しています。それも提供しています40余種の方法があり、その半分は javax.servlet.jsp.JspContext クラスから継承されています。
重要なメソッドの1つは removeAttribute() です。これは1つまたは2つの引数を受け入れます。例えば、pageContext.removeAttribute("attrName") は4つのscopeに関連する属性を削除しますが、以下の方法は特定のscopeに関連する属性のみを削除します:
pageContext.removeAttribute("attrName", PAGE_SCOPE);
このオブジェクトはページサンプルの参照です。それは、全体のJSPページを代表することができます。
page オブジェクトは this オブジェクトの同義語です。
exception オブジェクトは、前のページから投げられた例外情報をパッケージ化しています。通常、エラーコンディションに対する適切な応答を生成するために使用されます。