クラス JspContext
- java.lang.ObjectSE
-
- jakarta.servlet.jsp.JspContext
- 既知の直属サブクラス
PageContext
public abstract class JspContext extends ObjectSE
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
コンストラクターの概要
コンストラクター コンストラクター 説明 JspContext()唯一のコンストラクター。
方法の概要
すべてのメソッド インスタンスメソッド 抽象メソッド 具象メソッド 非推奨のメソッド 修飾子と型 メソッド 説明 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 ELContextgetELContext()このJspContextに関連付けられたELContextを返します。abstract ExpressionEvaluatorgetExpressionEvaluator()使用すべきではありません。JSP 2.1 の時点で、JspApplicationContext.getExpressionFactory()に置き換えられましたabstract JspWritergetOut()out オブジェクトの現在の値(JspWriter)。abstract VariableResolvergetVariableResolver()使用すべきではありません。JSP 2.1 の時点で、ELContext.getELResolver()に置き換えられました。ELContext.getELResolver()はjspContext.getELContext().getELResolver()で取得できます。JspWriterpopBody()一致する pushBody() によって保存された以前の JspWriter の "out" を返し、JspContext のページスコープ属性ネームスペースの "out" 属性の値を更新します。JspWriterpushBody(WriterSE writer)指定されたライターに出力を送信する新しい 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)適切なスコープセマンティクスで指定された名前と値を登録します。
メソッドの詳細
setAttribute
public abstract void setAttribute(StringSE name, ObjectSE value)
ページスコープセマンティクスで指定された名前と値を登録します。渡された値がnullの場合、これはremoveAttribute( name, PageContext.PAGE_SCOPE )を呼び出すのと同じ効果があります。- パラメーター:
name- 設定する属性の名前value- 名前に関連付ける値。属性がページスコープから削除される場合は null- 例外:
NullPointerExceptionSE- 名前が null の場合
setAttribute
public abstract void setAttribute(StringSE name, ObjectSE value, int scope)
適切なスコープセマンティクスで指定された名前と値を登録します。渡された値がnullの場合、これはremoveAttribute( name, scope )を呼び出すのと同じ効果があります。- パラメーター:
name- 設定する属性の名前value- 名前に関連付けるオブジェクト、または指定されたスコープから属性を削除する場合は nullscope- 名前 / オブジェクトを関連付けるスコープ- 例外:
NullPointerExceptionSE- 名前が null の場合IllegalArgumentExceptionSE- スコープが無効な場合IllegalStateExceptionSE- スコープが PageContext.SESSION_SCOPE であるが、リクエストされたページがセッションに参加していないか、セッションが無効化されている場合。
getAttribute
public abstract ObjectSE getAttribute(StringSE name)
ページスコープ内の名前に関連付けられたオブジェクトを返します。見つからない場合は null を返します。- パラメーター:
name- 取得する属性の名前- 戻り値:
- ページスコープ内の名前に関連付けられたオブジェクト。見つからない場合は null
- 例外:
NullPointerExceptionSE- 名前が null の場合
getAttribute
public abstract ObjectSE getAttribute(StringSE name, int scope)
指定されたスコープ内の名前に関連付けられたオブジェクトを返します。見つからない場合は null を返します。- パラメーター:
name- 設定する属性の名前scope- 名前 / オブジェクトを関連付けるスコープ- 戻り値:
- 指定されたスコープ内の名前に関連付けられたオブジェクト。見つからない場合は null
- 例外:
NullPointerExceptionSE- 名前が null の場合IllegalArgumentExceptionSE- スコープが無効な場合IllegalStateExceptionSE- スコープが PageContext.SESSION_SCOPE であるが、リクエストされたページがセッションに参加していないか、セッションが無効化されている場合。
findAttribute
public abstract ObjectSE findAttribute(StringSE name)
ページ、リクエスト、セッション(有効な場合)、アプリケーションスコープで名前付き属性を順番に検索し、関連付けられた値または null を返します。- パラメーター:
name- 検索する属性の名前- 戻り値:
- 関連する値または null
- 例外:
NullPointerExceptionSE- 名前が null の場合
removeAttribute
public abstract void removeAttribute(StringSE name)
指定された名前に関連付けられているオブジェクト参照をすべてのスコープから削除します。そのようなオブジェクトがない場合は何もしません。- パラメーター:
name- 削除するオブジェクトの名前。- 例外:
NullPointerExceptionSE- 名前が null の場合
removeAttribute
public abstract void removeAttribute(StringSE name, int scope)
指定されたスコープ内の指定された名前に関連付けられているオブジェクト参照を削除します。そのようなオブジェクトがない場合は何もしません。- パラメーター:
name- 削除するオブジェクトの名前。scope- 見たい範囲。- 例外:
IllegalArgumentExceptionSE- スコープが無効な場合IllegalStateExceptionSE- スコープが PageContext.SESSION_SCOPE であるが、リクエストされたページがセッションに参加していないか、セッションが無効化されている場合。NullPointerExceptionSE- 名前が null の場合
getAttributesScope
public abstract int getAttributesScope(StringSE name)
特定の属性が定義されているスコープを取得します。- パラメーター:
name- スコープを返す属性の名前- 戻り値:
- 指定された名前に関連付けられたオブジェクトのスコープ、または 0
- 例外:
NullPointerExceptionSE- 名前が null の場合
getAttributeNamesInScope
public abstract EnumerationSE<StringSE> getAttributeNamesInScope(int scope)
特定のスコープ内のすべての属性を列挙します。- パラメーター:
scope- すべての属性を列挙するスコープ- 戻り値:
- 指定されたスコープのすべての属性の名前の列挙(java.lang.String)
- 例外:
IllegalArgumentExceptionSE- スコープが無効な場合IllegalStateExceptionSE- スコープが PageContext.SESSION_SCOPE であるが、リクエストされたページがセッションに参加していないか、セッションが無効化されている場合。
getOut
public abstract JspWriter getOut()
out オブジェクトの現在の値(JspWriter)。- 戻り値:
- クライアントレスポンスに使用されている現在の JspWriter ストリーム
getExpressionEvaluator
@DeprecatedSE public abstract ExpressionEvaluator getExpressionEvaluator()
使用すべきではありません。JSP 2.1 の時点で、JspApplicationContext.getExpressionFactory()に置き換えられましたExpressionEvaluator へのプログラムによるアクセスを提供します。JSP コンテナーは、EL 式を解析できる ExpressionEvaluator の有効なインスタンスを返す必要があります。- 戻り値:
- ExpressionEvaluator の有効なインスタンス。
- 導入:
- JSP 2.0
getVariableResolver
@DeprecatedSE public abstract VariableResolver getVariableResolver()
使用すべきではありません。JSP 2.1 の時点で、ELContext.getELResolver()に置き換えられました。ELContext.getELResolver()はjspContext.getELContext().getELResolver()で取得できます。この JspContext をコンテキストオブジェクトとして使用して、JSP 仕様で指定された暗黙的なオブジェクトへのアクセスを提供する VariableResolver のインスタンスを返します。- 戻り値:
- VariableResolver の有効なインスタンス。
- 導入:
- JSP 2.0
getELContext
public abstract ELContext getELContext()
このJspContextに関連付けられたELContextを返します。ELContextは遅延して作成され、すでに存在する場合は再利用されます。JspContextごとに新しいELContextがあります。ELContextには、JSP 仕様(およびJspApplicationContext.addELResolver(jakarta.el.ELResolver)の javadoc)で説明されているELResolverが含まれている必要があります。- 戻り値:
- この
JspContextに関連付けられたELContext。 - 導入:
- JSP 2.1
pushBody
public JspWriter pushBody(WriterSE writer)
指定されたライターに出力を送信する新しい JspWriter オブジェクトを返します。現在の「出力」JspWriter を保存し、JspContext のページスコープ属性名前空間の "out" 属性の値を更新します。返される JspWriter は、すべてのメソッドを実装し、バッファリングされていないかのように動作する必要があります。すなわち:
- clear() は IOException をスローする必要があります
- clearBuffer() は何もしません
- getBufferSize() は常に 0 を返します
- getRemaining() は常に 0 を返します
- パラメーター:
writer- 出力を送信するために返された JspWriter のライター。- 戻り値:
- 指定されたライターに書き込む新しい JspWriter。
- 導入:
- JSP 2.0
popBody
public JspWriter popBody()
一致する pushBody() によって保存された以前の JspWriter の "out" を返し、JspContext のページスコープ属性ネームスペースの "out" 属性の値を更新します。- 戻り値:
- 保存された JspWriter。