クラス JspContext
- 既知の直属サブクラス
PageContext
JspContext は PageContext クラスの基本クラスとして機能し、サーブレット固有ではないすべての情報を抽象化します。これにより、リクエスト / レスポンスサーブレットのコンテキスト外で Simple Tag Extensions を使用できます。
JspContext は、ページ / コンポーネントの作成者およびページ実装者に次のような多くの機能を提供します。
- さまざまなスコープの名前空間を管理する単一の API
- 出力用に JspWriter を取得するメカニズム
- ページ指示属性をスクリプト環境に公開するメカニズム
コンテナー生成コード向けのメソッド
次のメソッドにより、 ネストされた JspWriter ストリームを管理してタグ拡張機能を実装できます: pushBody() および popBody()
JSP 作成者向けのメソッド
一部のメソッドは、スコープを表すさまざまなオブジェクトへの均一なアクセスを提供します。実装では、そのスコープに対応する基盤となる機構を使用する必要があります。これにより、基盤となる環境(サーブレットなど)と JSP ページの間で情報をやり取りできます。メソッドは次のとおりです。setAttribute()、getAttribute()、findAttribute()、removeAttribute()、getAttributesScope()、getAttributeNamesInScope()。
以下のメソッドは、暗黙オブジェクトへの便利なアクセスを提供します: getOut()
次のメソッドは、式言語エバリュエーターへのプログラムによるアクセスを提供します: getExpressionEvaluator()、getVariableResolver()
- 導入:
- JSP 2.0
コンストラクターの概要
コンストラクター方法の概要
修飾子と型メソッド説明abstract ObjectSEfindAttribute(StringSE name) ページ、リクエスト、セッション(有効な場合)、アプリケーションスコープで名前付き属性を順番に検索し、関連付けられた値または null を返します。abstract ObjectSEgetAttribute(StringSE name) ページスコープ内の名前に関連付けられたオブジェクトを返します。見つからない場合は null を返します。abstract ObjectSEgetAttribute(StringSE name, int scope) 指定されたスコープ内の名前に関連付けられたオブジェクトを返します。見つからない場合は null を返します。abstract EnumerationSE<StringSE>getAttributeNamesInScope(int scope) 特定のスコープ内のすべての属性を列挙します。abstract intgetAttributesScope(StringSE name) 特定の属性が定義されているスコープを取得します。abstract ELContextこのJspContextに関連付けられたELContextを返します。abstract JspWritergetOut()out オブジェクトの現在の値(JspWriter)。popBody()一致する pushBody() によって保存された以前の JspWriter の "out" を返し、JspContext のページスコープ属性ネームスペースの "out" 属性の値を更新します。指定されたライターに出力を送信する新しい JspWriter オブジェクトを返します。abstract voidremoveAttribute(StringSE name) 指定された名前に関連付けられているオブジェクト参照をすべてのスコープから削除します。abstract voidremoveAttribute(StringSE name, int scope) 指定されたスコープ内の指定された名前に関連付けられているオブジェクト参照を削除します。abstract voidsetAttribute(StringSE name, ObjectSE value) ページスコープセマンティクスで指定された名前と値を登録します。abstract voidsetAttribute(StringSE name, ObjectSE value, int scope) 適切なスコープセマンティクスで指定された名前と値を登録します。
コンストラクターの詳細
JspContext
public JspContext()唯一のコンストラクター。(サブクラスコンストラクターによる呼び出しの場合、通常は暗黙的です。)
メソッドの詳細
setAttribute
ページスコープセマンティクスで指定された名前と値を登録します。渡された値がnullの場合、これはremoveAttribute( name, PageContext.PAGE_SCOPE )を呼び出すのと同じ効果があります。- パラメーター:
name- 設定する属性の名前value- 名前に関連付ける値。属性がページスコープから削除される場合は null- 例外:
NullPointerExceptionSE- 名前が null の場合
setAttribute
適切なスコープセマンティクスで指定された名前と値を登録します。渡された値がnullの場合、これはremoveAttribute( name, scope )を呼び出すのと同じ効果があります。- パラメーター:
name- 設定する属性の名前value- 名前に関連付けるオブジェクト、または指定されたスコープから属性を削除する場合は nullscope- 名前 / オブジェクトを関連付けるスコープ- 例外:
NullPointerExceptionSE- 名前が null の場合IllegalArgumentExceptionSE- スコープが無効な場合IllegalStateExceptionSE- スコープが PageContext.SESSION_SCOPE であるが、リクエストされたページがセッションに参加していないか、セッションが無効化されている場合。
getAttribute
ページスコープ内の名前に関連付けられたオブジェクトを返します。見つからない場合は null を返します。- パラメーター:
name- 取得する属性の名前- 戻り値:
- ページスコープ内の名前に関連付けられたオブジェクト。見つからない場合は null
- 例外:
NullPointerExceptionSE- 名前が null の場合
getAttribute
指定されたスコープ内の名前に関連付けられたオブジェクトを返します。見つからない場合は null を返します。- パラメーター:
name- 設定する属性の名前scope- 名前 / オブジェクトを関連付けるスコープ- 戻り値:
- 指定されたスコープ内の名前に関連付けられたオブジェクト。見つからない場合は null
- 例外:
NullPointerExceptionSE- 名前が null の場合IllegalArgumentExceptionSE- スコープが無効な場合IllegalStateExceptionSE- スコープが PageContext.SESSION_SCOPE であるが、リクエストされたページがセッションに参加していないか、セッションが無効化されている場合。
findAttribute
ページ、リクエスト、セッション(有効な場合)、アプリケーションスコープで名前付き属性を順番に検索し、関連付けられた値または null を返します。- パラメーター:
name- 検索する属性の名前- 戻り値:
- 関連する値または null
- 例外:
NullPointerExceptionSE- 名前が null の場合
removeAttribute
指定された名前に関連付けられているオブジェクト参照をすべてのスコープから削除します。そのようなオブジェクトがない場合は何もしません。- パラメーター:
name- 削除するオブジェクトの名前。- 例外:
NullPointerExceptionSE- 名前が null の場合
removeAttribute
指定されたスコープ内の指定された名前に関連付けられているオブジェクト参照を削除します。そのようなオブジェクトがない場合は何もしません。- パラメーター:
name- 削除するオブジェクトの名前。scope- 見たい範囲。- 例外:
IllegalArgumentExceptionSE- スコープが無効な場合IllegalStateExceptionSE- スコープが PageContext.SESSION_SCOPE であるが、リクエストされたページがセッションに参加していないか、セッションが無効化されている場合。NullPointerExceptionSE- 名前が null の場合
getAttributesScope
特定の属性が定義されているスコープを取得します。- パラメーター:
name- スコープを返す属性の名前- 戻り値:
- 指定された名前に関連付けられたオブジェクトのスコープ、または 0
- 例外:
NullPointerExceptionSE- 名前が null の場合
getAttributeNamesInScope
特定のスコープ内のすべての属性を列挙します。- パラメーター:
scope- すべての属性を列挙するスコープ- 戻り値:
- 指定されたスコープのすべての属性の名前の列挙(java.lang.String)
- 例外:
IllegalArgumentExceptionSE- スコープが無効な場合IllegalStateExceptionSE- スコープが PageContext.SESSION_SCOPE であるが、リクエストされたページがセッションに参加していないか、セッションが無効化されている場合。
getOut
out オブジェクトの現在の値(JspWriter)。- 戻り値:
- クライアントレスポンスに使用されている現在の JspWriter ストリーム
getELContext
このJspContextに関連付けられたELContextを返します。ELContextは遅延して作成され、すでに存在する場合は再利用されます。JspContextごとに新しいELContextがあります。ELContextには、JSP 仕様(およびJspApplicationContext.addELResolver(jakarta.el.ELResolver)の javadoc)で説明されているELResolverが含まれている必要があります。- 戻り値:
- この
JspContextに関連付けられたELContext。 - 導入:
- JSP 2.1
pushBody
指定されたライターに出力を送信する新しい JspWriter オブジェクトを返します。現在の「出力」JspWriter を保存し、JspContext のページスコープ属性名前空間の "out" 属性の値を更新します。返される JspWriter は、すべてのメソッドを実装し、バッファリングされていないかのように動作する必要があります。すなわち:
- clear() は IOException をスローする必要があります
- clearBuffer() は何もしません
- getBufferSize() は常に 0 を返します
- getRemaining() は常に 0 を返します
- パラメーター:
writer- 出力を送信するために返された JspWriter のライター。- 戻り値:
- 指定されたライターに書き込む新しい JspWriter。
- 導入:
- JSP 2.0
popBody
一致する pushBody() によって保存された以前の JspWriter の "out" を返し、JspContext のページスコープ属性ネームスペースの "out" 属性の値を更新します。- 戻り値:
- 保存された JspWriter。