|
|||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--javax.servlet.jsp.PageContext
PageContextインスタンスは、詳細実装の上のレイヤと同じように、 JSPページに関係する全ての名前空間、いくつかのページ属性へのアクセスを提供します。 暗黙のオブジェクト pageContext は自動的にに追加されます。
PageContext
クラスは抽象クラスであり、
適正なJSPエンジンのランタイム環境がこれを拡張して、
このクラスに実装依存の実装を提供できるように設計されたものです。
PageContextインスタンスは、JSP実装クラスでJspFactory.getPageContext()
メソッドを呼び出して取得され、JspFactory.releasePageContext()を呼び出すことで開放されます。
PageContext、JspFactoryやその他のクラスのJSPページの実装オブジェクト内での扱い方の例は、別の部分で提供されています。
PageContextはページ/コンポーネントの製作者とページ実装者にいくつかの機能を提供します。 以下のような機能を含んでいます。
コンテナが生成したコードのために用意されたメソッド
いくつかのメソッドは、それを使用するためにコンテナがコード生成を行います。 JSPページやJSPタグライブラリの製作者コードを記述するのではありません。
ライフサイクルをサポートするメソッドはinitialize()
と
release()
です。
pushBody()
とpopBody()
の2つのメソッドは、
タグエクステンションを実行するために入れ子状のJspWriterストリームの管理
を可能にします。
JSP製作者のために用意されたメソッド
いくつかのメソッドはスコープに相当する異なるオブジェクトへの
均一のアクセスを提供します。
その実装は、情報がServletとJSPページ間でやり取りできるように、その
スコープに対応した土台となるServlet機構を使用しなければなりません。その
メソッドは: setAttribute()
, getAttribute()
,
findAttribute()
, removeAttribute()
,
getAttributesScope()
, getAttributeNamesInScope()
になります。
以下のメソッドは暗黙のオブジェクトに対する簡易なアクセスを提供します。
getOut()
, getException()
, getPage()
getRequest()
, getResponse()
,
getSession()
, getServletConfig()
, getServletContext()
以下のメソッドはフォワードとインクルード、およびエラー処理を支援します。
forward()
, include()
,
, handlePageException()
フィールドの概要 | |
static String |
APPLICATION
PageContextのネームテーブルにServletContextを登録するために使用する名前。 |
static int |
APPLICATION_SCOPE
アプリケーション スコープ:再構築されるまでの間、指定した参照は そのServletContext内で利用することができます。 |
static String |
CONFIG
PageContextのネームテーブルにServletConfigを登録するために使用する名前。 |
static String |
EXCEPTION
PageContextのネームテーブル及びServletRequestの属性リストにキャッチできない例外を登録するために使用する名前。 |
static String |
OUT
PageContextのネームテーブルに現在のJspWriterを登録するために使用する名前。 |
static String |
PAGE
PageContextのネームテーブルにServletを登録するために使用する名前。 |
static int |
PAGE_SCOPE
ページ スコープ:(デフォルト)現在のServlet.service()の呼び出しから戻るまでの間、指定した参照はこのPageContext内で利用することができます。 |
static String |
PAGECONTEXT
PageContextのネームテーブルにPageContext自身を登録するために使用する名前。 |
static String |
REQUEST
PageContextのネームテーブルにServletRequestを登録するために使用する名前。 |
static int |
REQUEST_SCOPE
リクエスト スコープ:現在のリクエストが完了するまでの間、指定した参照はそのServletに関連付けられているServletRequestから利用することができます。 |
static String |
RESPONSE
PageContextのネームテーブルにServletResponseを登録するために使用する名前。 |
static String |
SESSION
PageContextのネームテーブルにHttpSessionを登録するために使用する名前。 |
static int |
SESSION_SCOPE
セッション スコープ(ページがセッションを管理しているときにのみ有効): HttpSessionが無効になるまでの間、指定した参照はそのServletに関連付けられているHttpSessionから利用することができます。 |
コンストラクタの概要 | |
PageContext()
|
メソッドの概要 | |
abstract Object |
findAttribute(String name)
ページ、リクエスト、セッション(有効ならば)、アプリケーションの4つのスコープに登録されている属性を検索します。 |
abstract void |
forward(String relativeUrlPath)
このメソッドはリダイレクト、もしくは現在のServletRequestと ServletResponseをアプリケーション内の別のアクティブなコンポーネントに渡すために使用します。 |
abstract Object |
getAttribute(String name)
ページスコープ内で引数で与えた名前に対応したオブジェクトを返します。 |
abstract Object |
getAttribute(String name,
int scope)
特定のスコープ内で引数で与えた名前に対応したオブジェクトを返します。 |
abstract Enumeration |
getAttributeNamesInScope(int scope)
指定したスコープ内の全ての属性名を取得します。 |
abstract int |
getAttributesScope(String name)
その名前の属性が定義されているスコープを取得します。 |
abstract Exception |
getException()
例外オブジェクトの現在の値を返します。 |
abstract JspWriter |
getOut()
outオブジェクト(JspWriter)の現在の値を返します。 |
abstract 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(Exception e)
このメソッドは処理できない"ページ"レベルの例外を、 JSPで用意されている指定したエラーページにリダイレクトすることによって処理する事を目的としています。 |
abstract void |
handlePageException(Throwable t)
このメソッドは、Throwableを受け入れられる点を除けば handlePageException(Exception)と同等です。 |
abstract void |
include(String relativeUrlPath)
指定したリソースを、呼び出したスレッドによって処理されている現在の ServletRequestとServletResponseの一部として処理します。 |
abstract void |
initialize(Servlet servlet,
ServletRequest request,
ServletResponse response,
String errorPageURL,
boolean needsSession,
int bufferSize,
boolean autoFlush)
initializeメソッドは、初期化されていないPageContextを初期化するために呼び出します。 |
JspWriter |
popBody()
このメソッドに対応したメソッド、pushBody()により保存された以前の JspWriter "out"を返し、PageContextのページスコープ属性の名前空間にある"out"属性の値をアップデートします。 |
BodyContent |
pushBody()
新しいBodyContentオブジェクトを返して現在の "out" JspWriterに保存し、 PageContextのページスコープ属性の名前空間にある"out"属性の値をアップデートします。 |
abstract void |
release()
このメソッドは内部のすべての参照を開放し、後でinitialize()を呼び出した際に再利用可能にするためにPageContextを準備した上で、PageContextの内部の状態を「リセット」します。 |
abstract void |
removeAttribute(String name)
全てのスコープで、名前に関連付けられたオブジェクトへの参照を削除します。 |
abstract void |
removeAttribute(String name,
int scope)
特定のスコープで、名前に関連付けられたオブジェクトへの参照を削除します。 |
abstract void |
setAttribute(String name,
Object attribute)
ページスコープで定義された名前とオブジェクトを登録します。 |
abstract void |
setAttribute(String name,
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 String PAGE
public static final String PAGECONTEXT
public static final String REQUEST
public static final String RESPONSE
public static final String CONFIG
public static final String SESSION
public static final String OUT
public static final String APPLICATION
public static final String EXCEPTION
コンストラクタの詳細 |
public PageContext()
メソッドの詳細 |
public abstract void initialize(Servlet servlet, ServletRequest request, ServletResponse response, String errorPageURL, boolean needsSession, int bufferSize, boolean autoFlush) throws IOException, IllegalStateException, IllegalArgumentException
initializeメソッドは、初期化されていないPageContextを初期化するために呼び出します。 それによりJSP実装クラスは_jspService()メソッドの中で、送られてくるリクエストとレスポンスをサービスするのに使用できます。
このメソッドは状態を初期化するために、JspFactory.getPageContext() から呼び出されることが決められています。
このメソッドでは初期化されたJspWriterを生成し、ページスコープ内での名前 "out"と関連付ける必要があります。
このメソッドはページやタグライブラリの製作者が使用すべきではありません。
servlet
- このPageContextに属しているServletrequest
- このServletで現在まだ未定のリクエストresponse
- このServletで現在まだ未定のレスポンスerrorPageURL
- ページ指示子のエラーページ属性の値、もしくはnullneedsSession
- ページ指示子のセッション属性の値bufferSize
- ページ指示子のバッファ属性の値autoFlush
- ページ指示子の自動フラッシュ属性の値
IOException
- JspWriterを生成する間
IllegalStateException
- outが適切に初期化されなかった場合
IllegalArgumentException
public abstract void release()
このメソッドは内部のすべての参照を開放し、後でinitialize()を呼び出した際に再利用可能にするためにPageContextを準備した上で、PageContextの内部の状態を「リセット」します。このメソッドは通常、JspFactory.releasePageContext()から呼び出されます。
サブクラスではこのメソッドは包みこまれます。
このメソッドはページやタグライブラリの製作者が使用すべきではありません。
public abstract void setAttribute(String name, Object attribute)
name
- 登録する属性名attribute
- 属性名に関係付けるオブジェクト
NullPointerException
- nameもしくはobjectがnullの場合public abstract void setAttribute(String name, Object o, int scope)
name
- 登録する属性名o
- 属性名に関係付けるオブジェクトscope
- 名前とオブジェクトを関係付けるスコープ
NullPointerException
- nameもしくはobjectがnullの場合
IllegalArgumentException
- スコープが不正の場合public abstract Object getAttribute(String name)
name
- オブジェクトを取得したい属性の名前
NullPointerException
- nameがnullの場合
IllegalArgumentException
- スコープが不正の場合public abstract Object getAttribute(String name, int scope)
name
- オブジェクトを取得したい属性の名前scope
- 名前とオブジェクトが関連付けられたスコープ
NullPointerException
- nameがnullの場合
IllegalArgumentException
- スコープが不正の場合public abstract Object findAttribute(String name)
public abstract void removeAttribute(String name)
name
- 削除したいオブジェクトの名前public abstract void removeAttribute(String name, int scope)
name
- 削除したいオブジェクトの名前scope
- 属性を削除するスコープpublic abstract int getAttributesScope(String name)
public abstract Enumeration getAttributeNamesInScope(int scope)
public abstract JspWriter getOut()
public abstract HttpSession getSession()
public abstract Object getPage()
public abstract ServletRequest getRequest()
public abstract ServletResponse getResponse()
public abstract Exception getException()
public abstract ServletConfig getServletConfig()
public abstract ServletContext getServletContext()
public abstract void forward(String relativeUrlPath) throws ServletException, IOException
このメソッドはリダイレクト、もしくは現在のServletRequestと ServletResponseをアプリケーション内の別のアクティブなコンポーネントに渡すために使用します。
もし relativeUrlPath が"/"から始まるのであれば、URL指定はこの
JSPの ServletContext
のDOCROOTを基点に参照されます。パスが
"/"から始まらないのであれば、URL指定はリクエストしたJSPのURLを基点に参照されます。
このメソッドは、JSPの _jspService(...)
メソッドで実行
されている Thread
から呼び出される場合にのみ有効です。
一旦このメソッドの呼び出しに成功すると、呼び出した側の Thread
がServletResponse
オブジェクトを修正することは不正です。
このような試みをすると、ふるまいは不定です。通常呼び出す側のスレッドは、
呼び出しを追えた後すぐに _jspService(...)
から戻ります。
relativeUrlPath
- フォワードのターゲットとなるリソースのURLパス
ServletException
- フォワード先で ServletException が発生した場合
IOException
- フォワード先で IOException が発生した場合
IllegalArgumentException
- ターゲットリソースのURLが解決できない場合
IllegalStateException
- ServletResponse
がフォワードできない場合
SecurityException
- ターゲットリソースが呼び出す側からアクセスできない場合public abstract void include(String relativeUrlPath) throws ServletException, IOException
指定したリソースを、呼び出したスレッドによって処理されている現在の ServletRequestとServletResponseの一部として処理します。 ターゲットとなったリソースの出力は直接ServletResponseのアウトプットストリームに書き込まれます。
このJSPのJspWriter "out"は、このインクルード処理を行う前にフラッシュされます。
もし relativeUrlPath が"/"から始まるのであれば、URL指定はこの
JSPの ServletContext
のDOCROOTを基点に参照されます。パスが
"/"から始まらないのであれば、URL指定はリクエストしたJSPのURLを基点に参照されます。
このメソッドは、JSPの _jspService(...)
メソッドで実行されている Thread
から呼び出される場合にのみ有効です。
relativeUrlPath
- インクルードのターゲットとなるリソースのURLパス
ServletException
- インクルード先で ServletException が発生した場合
IOException
- インクルード先で IOException が発生した場合
IllegalArgumentException
- ターゲットリソースのURLが解決できない場合
SecurityException
- ターゲットリソースが呼び出す側からアクセスできない場合public abstract void handlePageException(Exception e) throws ServletException, IOException
このメソッドは処理できない"ページ"レベルの例外を、 JSPで用意されている指定したエラーページにリダイレクトすることによって処理する事を目的としています。 もし例外を指定できない場合には、アクションによる実装を行います。
JSP実装クラスは通常このメソッドを実行する前にあらゆるローカルなステートを消去し、 その後すぐに戻ります。このメソッドを呼び出した後で、クライアントへの出力を生成することもしくはServletResponseの状態を修正することは不正です。
このメソッドはそれ以降の矛盾した理由を保持します。 最近開発されたコードではPageContext.handlePageException(Throwable)を使用しています。
e
- 処理される例外
ServletException
- リダイレクト先で ServletException が発生した場合
IOException
- リダイレクト先で IOException が発生した場合
NullPointerException
- 例外がnullの場合
SecurityException
- ターゲットのリソースが呼び出す側からアクセスできない場合handlePageException(Throwable)
public abstract void handlePageException(Throwable t) throws ServletException, IOException
このメソッドは、Throwableを受け入れられる点を除けば handlePageException(Exception)と同等です。 エラーページの適切な実装において推奨されるメソッドです。
このメソッドは処理できない"ページ"レベルの例外を、 JSPで用意されている指定したエラーページにリダイレクトすることによって処理する事を目的としています。 もし例外を指定できない場合には、アクションによる実装を行います。
JSP実装クラスは通常このメソッドを実行する前にあらゆるローカルなステートを消去し、 その後すぐに戻ります。このメソッドを呼び出した後で、 クライアントへの出力を生成することもしくはServletResponseの状態を修正することは不正です。
t
- 処理されるThrowable
ServletException
- リダイレクト先で ServletException が発生した場合
IOException
- リダイレクト先で IOException が発生した場合
NullPointerException
- 例外がnullの場合
SecurityException
- ターゲットのリソースが呼び出す側からアクセスできない場合handlePageException(Exception)
public BodyContent pushBody()
public JspWriter popBody()
|
|||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
このドキュメントは、Ja-Jakarta Project により翻訳されました。コメントがある場合は、jajakarta-report@jajakarta.good-day.netまでお願いします。
Copyright © 1999-2002 The Apache Software Foundation. All Rights Reserved.