public abstract class PageContext extends JspContext
PageContext は、JspContext を継承して、サーブレット環境で JSP テクノロジーを使用する場合に役立つコンテキスト情報を提供します。
PageContext インスタンスは、JSP ページに関連付けられたすべての名前空間へのアクセスを提供し、いくつかのページ属性へのアクセスと、実装の詳細の上位レイヤーへのアクセスを提供します。暗黙的なオブジェクトは、pageContext に自動的に追加されます。
PageContext
クラスは、準拠する JSP エンジンのランタイム環境によって、実装に依存する実装を提供するために拡張されるように設計された抽象クラスです。PageContext インスタンスは、JspFactory.getPageContext() メソッドを呼び出すことによって JSP 実装クラスによって取得され、JspFactory.releasePageContext() を呼び出すことによって解放されます。
PageContext、JspFactory、その他のクラスを JSP ページ実装オブジェクト内で使用する方法の例は、他の場所で提供されています。
PageContext は、ページ / コンポーネントの作成者およびページ実装者に次のような多くの機能を提供します。
コンテナー生成コード向けのメソッド
一部のメソッドは、JSP ページ作成者または JSP タグライブラリ作成者によって作成されたコードではなく、コンテナーによって生成されたコードによって使用されることを目的としています。
ライフサイクルをサポートするメソッドは initialize()
および release()
です
以下のメソッドにより、 ネストされた JspWriter ストリームの管理がタグ拡張機能を実装できるようになります: pushBody()
JSP 作成者向けのメソッド
次のメソッドは、暗黙のオブジェクトへの便利なアクセスを提供します: getException()
、getPage()
getRequest()
、getResponse()
、getSession()
、getServletConfig()
、getServletContext()
。
次のメソッドは、 転送、包含、エラー処理のサポートを提供します: forward()
、include()
、handlePageException()
。
修飾子と型 | フィールドと説明 |
---|---|
static StringSE | APPLICATION ServletContext を PageContext 名前テーブルに保存するために使用される名前。 |
static int | APPLICATION_SCOPE アプリケーションスコープ: 名前付き参照は、再生されるまで ServletContext で利用可能です。 |
static StringSE | CONFIG ServletConfig を PageContext 名前テーブルに保存するために使用される名前。 |
static StringSE | EXCEPTION ServletRequest 属性リストおよび PageContext 名前テーブルにキャッチされていない例外を格納するために使用される名前。 |
static StringSE | OUT 現在の JspWriter を PageContext 名前テーブルに保存するために使用される名前。 |
static StringSE | PAGE この PageContext の名前テーブルにサーブレットを格納するために使用される名前。 |
static int | PAGE_SCOPE ページ範囲: (これがデフォルトです)名前付き参照は、現在の Servlet.service() 呼び出しから戻るまで、この PageContext で利用可能です。 |
static StringSE | PAGECONTEXT この PageContext を独自の名前テーブルに保存するために使用される名前。 |
static StringSE | REQUEST ServletRequest を PageContext 名前テーブルに保存するために使用される名前。 |
static int | REQUEST_SCOPE リクエストスコープ: 名前付き参照は、現在のリクエストが完了するまで、サーブレットに関連付けられた ServletRequest から利用可能のままです。 |
static StringSE | RESPONSE ServletResponse を PageContext 名前テーブルに保存するために使用される名前。 |
static StringSE | SESSION HttpSession を PageContext 名前テーブルに保存するために使用される名前。 |
static int | SESSION_SCOPE セッションスコープ(このページがセッションに参加している場合のみ有効): HttpSession が無効化されるまで、名前付き参照は、サーブレットに関連付けられた HttpSession(存在する場合)から引き続き利用可能です。 |
コンストラクターと説明 |
---|
PageContext() 唯一のコンストラクター。 |
修飾子と型 | メソッドと説明 |
---|---|
abstract void | forward(StringSE relativeUrlPath) このメソッドは、現在の ServletRequest および ServletResponse をアプリケーション内の別のアクティブなコンポーネントにリダイレクトまたは「転送」するために使用されます。 |
ErrorData | getErrorData() エラー情報への便利なアクセスを提供します。 |
abstract ExceptionSE | getException() 例外オブジェクトの現在の値(例外)。 |
abstract ObjectSE | getPage() ページオブジェクトの現在の値(サーブレット環境では、これは javax.servlet.Servlet のインスタンスです)。 |
abstract ServletRequest | getRequest() リクエストオブジェクトの現在の値(ServletRequest)。 |
abstract ServletResponse | getResponse() レスポンスオブジェクトの現在の値(ServletResponse)。 |
abstract ServletConfig | getServletConfig() ServletConfig インスタンス。 |
abstract ServletContext | getServletContext() ServletContext インスタンス。 |
abstract HttpSession | getSession() セッションオブジェクトの現在の値(HttpSession)。 |
abstract void | handlePageException(ExceptionSE e) このメソッドは、この JSP の指定されたエラーページに例外を転送することにより、未処理の「ページ」レベルの例外を処理することを目的としています。 |
abstract void | handlePageException(ThrowableSE t) このメソッドは、この JSP の指定されたエラーページに例外を転送することにより、未処理の「ページ」レベルの例外を処理することを目的としています。 |
abstract void | include(StringSE relativeUrlPath) 指定されたリソースが、呼び出しスレッドによって処理されている現在の ServletRequest および ServletResponse の一部として処理されるようにします。 |
abstract void | include(StringSE relativeUrlPath, boolean flush) 指定されたリソースが、呼び出しスレッドによって処理されている現在の ServletRequest および ServletResponse の一部として処理されるようにします。 |
abstract void | initialize(Servlet servlet, ServletRequest request, ServletResponse response, StringSE errorPageURL, boolean needsSession, int bufferSize, boolean autoFlush) 初期化メソッドは、初期化されていない PageContext を初期化するために呼び出され、JSP 実装クラスが _jspService() メソッド内で受信リクエストとレスポンスを処理するために使用できるようにします。 |
BodyContent | pushBody() 新しい BodyContent オブジェクトを返し、現在の「出力」JspWriter を保存し、PageContext のページスコープ属性ネームスペースの "out" 属性の値を更新します。 |
abstract void | release() このメソッドは、PageContext の内部状態を「リセット」し、すべての内部参照を解放し、initialize() の以降の呼び出しによる潜在的な再利用のために PageContext を準備します。 |
findAttribute, getAttribute, getAttribute, getAttributeNamesInScope, getAttributesScope, getELContext, getExpressionEvaluator, getOut, getVariableResolver, popBody, pushBody, removeAttribute, removeAttribute, setAttribute, setAttribute
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
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 StringSE PAGECONTEXT
public static final StringSE REQUEST
public static final StringSE RESPONSE
public static final StringSE CONFIG
public static final StringSE SESSION
public static final StringSE OUT
public static final StringSE APPLICATION
public abstract void initialize(Servlet servlet, ServletRequest request, ServletResponse response, StringSE errorPageURL, boolean needsSession, int bufferSize, boolean autoFlush) throws IOExceptionSE, IllegalStateExceptionSE, IllegalArgumentExceptionSE
初期化メソッドは、初期化されていない PageContext を初期化するために呼び出され、JSP 実装クラスが _jspService() メソッド内で受信リクエストとレスポンスを処理するために使用できるようにします。
このメソッドは、通常、状態を初期化するために JspFactory.getPageContext() から呼び出されます。
このメソッドは、初期 JspWriter を作成し、ページスコープの "out" 名をこの新しく作成されたオブジェクトに関連付けるために必要です。
このメソッドは、ページまたはタグライブラリの作成者が使用しないでください。
servlet
- この PageContext に関連付けられているサーブレット request
- このサーブレットに対する現在保留中のリクエスト response
- このサーブレットの現在保留中のレスポンス errorPageURL
- ページディレクティブの errorpage 属性の値または nullneedsSession
- ページディレクティブからのセッション属性の値 bufferSize
- ページディレクティブのバッファ属性の値 autoFlush
- ページディレクティブの autoflush 属性の値 IOExceptionSE
- JspWriter の作成 IllegalStateExceptionSE
- 正しく初期化されていない場合 IllegalArgumentExceptionSE
- 指定されたパラメーターのいずれかが無効な場合 public abstract void release()
このメソッドは、PageContext の内部状態を「リセット」し、すべての内部参照を解放し、initialize() の以降の呼び出しによる潜在的な再利用のために PageContext を準備します。このメソッドは通常、JspFactory.releasePageContext() から呼び出されます。
サブクラスはこのメソッドを包囲します。
このメソッドは、ページまたはタグライブラリの作成者が使用しないでください。
public abstract HttpSession getSession()
public abstract ObjectSE getPage()
public abstract ServletRequest getRequest()
public abstract ServletResponse getResponse()
public abstract ExceptionSE getException()
public abstract ServletConfig getServletConfig()
public abstract ServletContext getServletContext()
public abstract void forward(StringSE relativeUrlPath) throws ServletException, IOExceptionSE
このメソッドは、現在の ServletRequest および ServletResponse をアプリケーション内の別のアクティブなコンポーネントにリダイレクトまたは「転送」するために使用されます。
relativeUrlPath が "/" で始まる場合、指定された URL はこの JSP の ServletContext
の DOCROOT を基準として計算されます。パスが "/" で始まらない場合、指定された URL は呼び出し元の JSP にマップされたリクエストの URL を基準として計算されます。
JSP の _jspService(...)
メソッド内で実行される Thread
からこのメソッドを呼び出すことのみが有効です。
このメソッドが正常に呼び出されると、呼び出し Thread
が ServletResponse
オブジェクトを変更しようとすることは不正です。そのような試みは、未定義の動作を引き起こします。通常、このメソッドを呼び出した後、呼び出し元はすぐに _jspService(...)
から戻ります。
relativeUrlPath
- 上記のように、ターゲットリソースへの相対 URL パスを指定します IllegalStateExceptionSE
- ServletResponse
が転送を実行できる状態にない場合 ServletException
- 転送されたページが ServletException をスローする場合 IOExceptionSE
- 転送中に I/O エラーが発生した場合 public abstract void include(StringSE relativeUrlPath) throws ServletException, IOExceptionSE
指定されたリソースが、呼び出しスレッドによって処理されている現在の ServletRequest および ServletResponse の一部として処理されるようにします。リクエストのターゲットリソース処理の出力は、ServletResponse 出力ストリームに直接書き込まれます。
この JSP の現在の JspWriter の「アウト」は、インクルードを処理する前に、この呼び出しの副作用としてフラッシュされます。
relativeUrlPath が "/" で始まる場合、指定された URL はこの JSP の ServletContext
の DOCROOT を基準として計算されます。パスが "/" で始まらない場合、指定された URL は呼び出し元の JSP にマップされたリクエストの URL を基準として計算されます。
JSP の _jspService(...)
メソッド内で実行される Thread
からこのメソッドを呼び出すことのみが有効です。
relativeUrlPath
- 含めるターゲットリソースへの相対 URL パスを指定します ServletException
- 転送されたページが ServletException をスローする場合 IOExceptionSE
- 転送中に I/O エラーが発生した場合 public abstract void include(StringSE relativeUrlPath, boolean flush) throws ServletException, IOExceptionSE
指定されたリソースを、呼び出しスレッドによって処理されている現在の ServletRequest および ServletResponse の一部として処理します。リクエストのターゲットリソース処理の出力は、getOut() の呼び出しによって返される現在の JspWriter に直接書き込まれます。
flush が true の場合、インクルードを処理する前に、この呼び出しの副作用として、この JSP の現在の JspWriter "out" がフラッシュされます。そうでない場合、JspWriter の「出力」はフラッシュされません。
relativeUrlPath が "/" で始まる場合、指定された URL はこの JSP の ServletContext
の DOCROOT を基準として計算されます。パスが "/" で始まらない場合、指定された URL は呼び出し元の JSP にマップされたリクエストの URL を基準として計算されます。
JSP の _jspService(...)
メソッド内で実行される Thread
からこのメソッドを呼び出すことのみが有効です。
relativeUrlPath
- 含めるターゲットリソースへの相対 URL パスを指定します flush
- JspWriter がインクルードの前にフラッシュされる場合は true、そうでない場合は false。ServletException
- 転送されたページが ServletException をスローする場合 IOExceptionSE
- 転送中に I/O エラーが発生した場合 public abstract void handlePageException(ExceptionSE e) throws ServletException, IOExceptionSE
このメソッドは、この JSP の指定されたエラーページに例外を転送することにより、未処理の「ページ」レベルの例外を処理することを目的としています。転送が不可能な場合(たとえば、レスポンスがすでにコミットされているため)、実装に依存するメカニズムを使用してエラーページを呼び出す必要があります(代わりにエラーページを「含める」)。
ページにエラーページが定義されていない場合は、標準のサーブレットエラー処理が引き継ぐように例外を再スローする必要があります。
通常、JSP 実装クラスは、これを呼び出す前にローカル状態をクリーンアップし、その後すぐに戻ります。クライアントへの出力を生成したり、この呼び出しを呼び出した後に ServletResponse の状態を変更したりすることは不正です。
このメソッドは、後方互換性の理由で保持されます。新しく生成されたコードは PageContext.handlePageException(Throwable)を使用する必要があります。
e
- 処理される例外 ServletException
- エラーページの呼び出し中にエラーが発生した場合 IOExceptionSE
- エラーページの呼び出し中に I/O エラーが発生した場合 NullPointerExceptionSE
- 例外が null の場合 handlePageException(Throwable)
public abstract void handlePageException(ThrowableSE t) throws ServletException, IOExceptionSE
このメソッドは、この JSP の指定されたエラーページに例外を転送することにより、未処理の「ページ」レベルの例外を処理することを目的としています。転送が不可能な場合(たとえば、レスポンスがすでにコミットされているため)、実装に依存するメカニズムを使用してエラーページを呼び出す必要があります(代わりにエラーページを「含める」)。
ページにエラーページが定義されていない場合は、標準のサーブレットエラー処理が引き継ぐように例外を再スローする必要があります。
このメソッドは、この JSP の指定されたエラーページに例外をリダイレクトするか、指定されていない場合は実装に依存するアクションを実行することにより、未処理の「ページ」レベルの例外を処理します。
通常、JSP 実装クラスは、これを呼び出す前にローカル状態をクリーンアップし、その後すぐに戻ります。クライアントへの出力を生成したり、この呼び出しを呼び出した後に ServletResponse の状態を変更したりすることは不正です。
t
- 処理されるスロー可能オブジェクト ServletException
- エラーページの呼び出し中にエラーが発生した場合 IOExceptionSE
- エラーページの呼び出し中に I/O エラーが発生した場合 NullPointerExceptionSE
- 例外が null の場合 handlePageException(Exception)
public BodyContent pushBody()
public ErrorData getErrorData()
Copyright © 2019 Eclipse Foundation.
Use is subject to license terms.