|
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||
java.lang.Object | +--javax.servlet.jsp.PageContext
PageContext インスタンスは、JSP ページに関連付けられたすべての名前空間へのアクセスを提供し、いくつかのページ属性のほかに、実装の詳細レベルの上のレイヤへのアクセスも提供します。暗黙のオブジェクトが PageContext へ自動的に追加されます。
PageContext クラスは abstract クラスであり、JSP エンジンの実行環境に合わせた実装を提供するために拡張することができます。PageContext インスタンスは、JspFactory.getPageContext() メソッドを呼び出すことで JSP 実装クラスに取得され、JspFactory.releasePageContext() を呼び出すことで解放されます。
JSP Page 実装オブジェクト内における PageContext、JspFactory、およびその他のクラスの使用例は、別途示します。
PageContext は、ページ/コンポーネントの作成者およびページ実装者に、次のものを含む多くの機能を提供します。
コンテナ生成コード向けのメソッド
メソッドの中には、JSP ページ作成者や JSP タグライブラリ作成者に作成されたコードでなく、コンテナに生成されたコードによって使用されることを目的としているものがあります。
ライフサイクルをサポートするメソッドは、initialize() および release() です。
pushBody() および popBody() メソッドによって、タグ拡張の実装に必要な、JspWriter ストリームのネスト管理ができるようになります。
JSP 作成者向けのメソッド
メソッドの中には、スコープを表す多様なオブジェクトへの単一的なアクセスを提供するものがあります。実装は Servlet と JSP ページとの間で情報を受け渡すために、そのスコープに対応する基盤の Servlet 機構を使用する必要があります。このようなメソッドには、setAttribute()、getAttribute()、findAttribute()、removeAttribute()、getAttributesScope()、および getAttributeNamesInScope() があります。
次のメソッドで、暗黙的なオブジェクトへのアクセスを簡単に行うことができます。
getOut()、getException()、getPage()、getRequest()、getResponse()、getSession()、getServletConfig()、および getServletContext()
次のメソッドで、転送、インクルード、およびエラー処理がサポートされます。
forward()、include()、および handlePageException()
| フィールドの概要 | |
static java.lang.String |
APPLICATION
PageContext の名前テーブルに ServletContext を格納するために使用される名前です。 |
static int |
APPLICATION_SCOPE
アプリケーションのスコープ: 指定された参照は、ガベージコレクタにより回収されるまで、ServletContext 内で利用可能です。 |
static java.lang.String |
CONFIG
PageContext の名前テーブルに ServletConfig を格納するために使用される名前です。 |
static java.lang.String |
EXCEPTION
ServletRequest の属性リストと PageContext の名前テーブルに、キャッチされなかった例外を格納するために使用される名前です。 |
static java.lang.String |
OUT
PageContext の名前テーブルに現在の JspWriter を格納するために使用される名前です。 |
static java.lang.String |
PAGE
この PageContext の名前テーブルに Servlet を格納するために使用される名前です。 |
static int |
PAGE_SCOPE
ページのスコープ: (デフォルト) 指定された参照は、現在の Servlet.service() 呼び出しから復帰するまで、この PageContext 内で利用可能です。 |
static java.lang.String |
PAGECONTEXT
名前テーブルに PageContext 自身を格納するために使用される名前です。 |
static java.lang.String |
REQUEST
PageContext の名前テーブルに ServletRequest を格納するために使用される名前です。 |
static int |
REQUEST_SCOPE
要求のスコープ: 指定された参照は、現在の要求が完了するまで、Servlet に関連付けられた ServletRequest から利用できます。 |
static java.lang.String |
RESPONSE
PageContext の名前テーブルに ServletResponse を格納するために使用される名前です。 |
static java.lang.String |
SESSION
PageContext の名前テーブルに HttpSession を格納するために使用される名前です。 |
static int |
SESSION_SCOPE
セッションのスコープ (このページがセッションに関与している場合にのみ有効): 指定された参照は、該当のHttpSession が無効化されるまで、Servlet に関連付けられた HttpSession から利用できます。 |
| コンストラクタの概要 | |
PageContext()
|
|
| メソッドの概要 | |
abstract java.lang.Object |
findAttribute(java.lang.String name)
ページ、要求、セッション (有効な場合)、およびアプリケーションのスコープ内を指定された属性を求めてこの順に検索し、関連付けられた値または null を返します。 |
abstract void |
forward(java.lang.String relativeUrlPath)
このメソッドは、現在の ServletRequest と ServletResponse をアプリケーション内の別の動的なコンポーネントへ切り替える、つまり転送するために使用されます。 |
abstract java.lang.Object |
getAttribute(java.lang.String name)
ページスコープ内で名前に関連付けられたオブジェクトを返します。 |
abstract java.lang.Object |
getAttribute(java.lang.String name,
int scope)
指定されたスコープ内で名前に関連付けられたオブジェクトを返します。 |
abstract java.util.Enumeration |
getAttributeNamesInScope(int scope)
指定されたスコープ内のすべての属性を列挙します。 |
abstract int |
getAttributesScope(java.lang.String name)
指定された属性が定義されているスコープを入手します。 |
abstract java.lang.Exception |
getException()
例外オブジェクト (Exception) の現在の値です。 |
abstract JspWriter |
getOut()
out オブジェクト (JspWriter) の現在の値です。 |
abstract java.lang.Object |
getPage()
ページオブジェクト (Servlet) の現在の値です。 |
abstract ServletRequest |
getRequest()
要求オブジェクト (ServletRequest) の現在の値です。 |
abstract ServletResponse |
getResponse()
応答オブジェクト (ServletResponse) の現在の値です。 |
abstract ServletConfig |
getServletConfig()
ServletConfig インスタンスです。 |
abstract ServletContext |
getServletContext()
ServletContext インスタンスです。 |
abstract HttpSession |
getSession()
セッションオブジェクト (HttpSession) の現在の値です。 |
abstract void |
handlePageException(java.lang.Exception e)
このメソッドは、処理されなかったページレベルの例外が発生した際に、この JSP のために指定されたエラーページを表示します。 |
abstract void |
handlePageException(java.lang.Throwable t)
このメソッドは、Throwable を受け入れること以外は handlePageException(Exception) と同じです。 |
abstract void |
include(java.lang.String relativeUrlPath)
呼び出している Thread によって処理されている現在の ServletRequest と ServletResponse の一部として、指定されたリソースが処理されるようにします。 |
abstract void |
initialize(Servlet servlet,
ServletRequest request,
ServletResponse response,
java.lang.String errorPageURL,
boolean needsSession,
int bufferSize,
boolean autoFlush)
初期化されていない PageContext を初期化するためにこのメソッドが呼び出されます。 |
JspWriter |
popBody()
対応する pushBody() により保存された以前の出力用 JspWriter を返し、PageContext にあるページスコープの属性名前空間内の out 属性の値を更新します。 |
BodyContent |
pushBody()
新しい BodyContent オブジェクトを返し、現在の出力用 JspWriter を保存して、PageContext にあるページスコープの属性名前空間内の out 属性の値を更新します。 |
abstract void |
release()
このメソッドは、すべての内部参照を解放し、後の initialize() の呼び出しで再使用される可能性に備えて PageContext を準備して、PageContext の内部的な状態をリセットします。 |
abstract void |
removeAttribute(java.lang.String name)
findAttribute に示されたスコープの順にすべてのスコープを検索して、指定された名前に関連するオブジェクトを削除します。 |
abstract void |
removeAttribute(java.lang.String name,
int scope)
指定されたスコープ内で指定された名前に関連するオブジェクト参照を削除します。 |
abstract void |
setAttribute(java.lang.String name,
java.lang.Object attribute)
ページスコープセマンティクスにおいて、指定された名前でオブジェクトを登録します。 |
abstract void |
setAttribute(java.lang.String name,
java.lang.Object o,
int scope)
指定されたスコープセマンティクスにおいて、指定された名前でオブジェクトを登録します。 |
| クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| フィールドの詳細 |
public static final int PAGE_SCOPE
public static final int REQUEST_SCOPE
public static final int SESSION_SCOPE
public static final int APPLICATION_SCOPE
public static final java.lang.String PAGE
public static final java.lang.String PAGECONTEXT
public static final java.lang.String REQUEST
public static final java.lang.String RESPONSE
public static final java.lang.String CONFIG
public static final java.lang.String SESSION
public static final java.lang.String OUT
public static final java.lang.String APPLICATION
public static final java.lang.String EXCEPTION
| コンストラクタの詳細 |
public PageContext()
| メソッドの詳細 |
public abstract void initialize(Servlet servlet,
ServletRequest request,
ServletResponse response,
java.lang.String errorPageURL,
boolean needsSession,
int bufferSize,
boolean autoFlush)
throws java.io.IOException,
java.lang.IllegalStateException,
java.lang.IllegalArgumentException
初期化されていない PageContext を初期化するためにこのメソッドが呼び出されます。これにより JSP 実装クラスは、_jspService() メソッド内で要求と応答にサービスする際に PageContext オブジェクトを使用することができるようになります。
このメソッドは通常、状態を初期化するために JspFactory.getPageContext() から呼び出されます。
このメソッドは、最初の JspWriter を作成するために必要であり、ページスコープで定義された "out" という名前をこの新しく作成された JspWriter オブジェクトに関連付けます。
このメソッドは、ページまたはタグライブラリの作成者は使用できません。
servlet - この PageContext に関連付けられている Servletrequest - この Servlet で現在処理対象となっている要求response - この Servlet で現在処理対象となっている応答errorPageURL - ページ指示子からの errorpage 属性の値または nullneedsSession - ページ指示子からの session 属性の値bufferSize - ページ指示子からの buffer 属性の値autoFlush - ページ指示子からの autoflush 属性の値java.io.IOException - JspWriter の作成中java.lang.IllegalStateException - out が正しく初期化されていない場合public abstract void release()
このメソッドは、すべての内部参照を解放し、後の initialize() の呼び出しで再使用される可能性に備えて PageContext を準備して、PageContext の内部的な状態をリセットします。このメソッドは通常、JspFactory.releasePageContext() から呼び出されます。
このメソッドはサブクラスにおいて実装されます。
このメソッドは、ページまたはタグライブラリの作成者は使用できません。
public abstract void setAttribute(java.lang.String name,
java.lang.Object attribute)
name - 設定する属性の名前attribute - 名前に関連付けるオブジェクトjava.lang.NullPointerException - 名前またはオブジェクトが null の場合
public abstract void setAttribute(java.lang.String name,
java.lang.Object o,
int scope)
name - 設定する属性の名前o - 名前に関連付けるオブジェクトscope - 名前/オブジェクトに関連付けるスコープjava.lang.NullPointerException - 名前またはオブジェクトが null の場合java.lang.IllegalArgumentException - スコープが無効な場合public abstract java.lang.Object getAttribute(java.lang.String name)
name - 入手する属性の名前java.lang.NullPointerException - 名前が null の場合java.lang.IllegalArgumentException - スコープが無効な場合
public abstract java.lang.Object getAttribute(java.lang.String name,
int scope)
name - 設定する属性の名前scope - 名前/オブジェクトに関連付けるスコープjava.lang.NullPointerException - 名前が null の場合java.lang.IllegalArgumentException - スコープが無効な場合public abstract java.lang.Object findAttribute(java.lang.String name)
public abstract void removeAttribute(java.lang.String name)
name - 削除するオブジェクトの名前
public abstract void removeAttribute(java.lang.String name,
int scope)
name - 削除するオブジェクトの名前scope - 検索するスコープpublic abstract int getAttributesScope(java.lang.String name)
public abstract java.util.Enumeration getAttributeNamesInScope(int scope)
public abstract JspWriter getOut()
public abstract HttpSession getSession()
public abstract java.lang.Object getPage()
public abstract ServletRequest getRequest()
public abstract ServletResponse getResponse()
public abstract java.lang.Exception getException()
public abstract ServletConfig getServletConfig()
public abstract ServletContext getServletContext()
public abstract void forward(java.lang.String relativeUrlPath)
throws ServletException,
java.io.IOException
このメソッドは、現在の ServletRequest と ServletResponse をアプリケーション内の別の動的なコンポーネントへ切り替える、つまり転送するために使用されます。
relativeUrlPath は "/" で始まり、指定される URL は、この JSP の ServletContext の DOCROOT に対するパスとして取り扱われます。パスが "/" で始まっていない場合、指定された URL は、呼び出している JSP にマッピングされた要求の URL に対する相対パスとして計算されます。
JSP の _jspService(...) メソッド内で実行中の Thread からこのメソッドを呼び出す場合だけが有効です。
このメソッドが正常に呼び出された後は、呼び出している Thread が ServletResponse オブジェクトを変更しようとすることは不当です。そのような試行によって起きる動作は、不定です。呼び出し側は通常、このメソッドを呼び出した後にただちに _jspService(...) から復帰します。
relativeUrlPath - 上で説明したターゲットリソースへの相対 URL パスを指定するServletException - java.io.IOException - java.lang.IllegalArgumentException - ターゲットリソースの URL が解決不能な場合java.lang.IllegalStateException - ServletResponse が転送を実行できる状態にない場合java.lang.SecurityException - ターゲットリソースが呼び出し側によってアクセスできない場合
public abstract void include(java.lang.String relativeUrlPath)
throws ServletException,
java.io.IOException
呼び出している Thread によって処理されている現在の ServletRequest と ServletResponse の一部として、指定されたリソースが処理されるようにします。要求を処理しているターゲットリソースの出力は、ServletResponse 出力ストリームへ直接書き出されます。
この JSP の現在の JspWriter の出力は、取り込みを処理する前にこの呼び出しの副作用としてフラッシュされます。
relativeUrlPath は "/" で始まり、指定される URL は、この JSP の ServletContext の DOCROOT に対するパスとして取り扱われます。パスが "/" で始まっていない場合、指定された URL は、呼び出している JSP にマッピングされた要求の URL に対する相対パスとして取り扱われます。
JSP の _jspService(...) メソッド内で実行中の Thread からこのメソッドを呼び出す場合だけが有効です。
relativeUrlPath - 取り込まれるターゲットリソースへの相対 URL パスを指定するServletException - java.io.IOException - java.lang.IllegalArgumentException - ターゲットリソースの URL が解決不能な場合java.lang.SecurityException - ターゲットリソースが呼び出し側によってアクセスできない場合
public abstract void handlePageException(java.lang.Exception e)
throws ServletException,
java.io.IOException
このメソッドは、処理されなかったページレベルの例外が発生した際に、この JSP のために指定されたエラーページを表示します。何も指定されなかった場合はなんらかの実装に依存した処置を実行します。
JSP 実装クラスは、通常はローカルな状態をクリアした後にこのメソッドを呼び出し、呼び出した後はただちに終了します。クライアントに対して、なんらかの出力を生成したり、この呼び出しを起動した後に ServletResponse の状態を変更することは不正です。
このメソッドは、下位互換性を保つという理由で維持されています。新しく生成されるコードは、PageContext.handlePageException(Throwable) を使用してください。
e - 処理対象となる例外ServletException - java.io.IOException - java.lang.NullPointerException - 例外が null の場合java.lang.SecurityException - ターゲットリソースが呼び出し側によってアクセスできない場合handlePageException(Throwable)
public abstract void handlePageException(java.lang.Throwable t)
throws ServletException,
java.io.IOException
このメソッドは、Throwable を受け入れること以外は handlePageException(Exception) と同じです。これは、errorpage の意味を正しく実装するため、優先的に使用すべきメソッドです。
このメソッドは、処理されなかったページレベルの例外が発生した際に、この JSP のために指定されたエラーページを表示します。何も指定されなかった場合はなんらかの実装に依存した処置を実行します。
JSP 実装クラスは、通常はローカルな状態をクリアした後にこのメソッドを呼び出し、呼び出し後はただちに終了します。クライアントに対してなんらかの出力を生成したり、この呼び出しを起動した後に ServletResponse の状態を変更することは不正です。
t - 処理対象の throwableServletException - java.io.IOException - java.lang.NullPointerException - 例外が null の場合java.lang.SecurityException - ターゲットリソースが呼び出し側によってアクセスできない場合handlePageException(Exception)public BodyContent pushBody()
public JspWriter popBody()
|
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||