パッケージ jakarta.servlet.jsp

クラス 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
  • コンストラクターの概要

    コンストラクター
    コンストラクター
    説明
    唯一のコンストラクター。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    abstract ObjectSE
    ページ、リクエスト、セッション(有効な場合)、アプリケーションスコープで名前付き属性を順番に検索し、関連付けられた値または null を返します。
    abstract ObjectSE
    ページスコープ内の名前に関連付けられたオブジェクトを返します。見つからない場合は null を返します。
    abstract ObjectSE
    getAttribute(StringSE name, int scope)
    指定されたスコープ内の名前に関連付けられたオブジェクトを返します。見つからない場合は null を返します。
    特定のスコープ内のすべての属性を列挙します。
    abstract int
    特定の属性が定義されているスコープを取得します。
    abstract ELContext
    この JspContext に関連付けられた ELContext を返します。
    abstract JspWriter
    out オブジェクトの現在の値(JspWriter)。
    一致する pushBody() によって保存された以前の JspWriter の "out" を返し、JspContext のページスコープ属性ネームスペースの "out" 属性の値を更新します。
    指定されたライターに出力を送信する新しい JspWriter オブジェクトを返します。
    abstract void
    指定された名前に関連付けられているオブジェクト参照をすべてのスコープから削除します。
    abstract void
    removeAttribute(StringSE name, int scope)
    指定されたスコープ内の指定された名前に関連付けられているオブジェクト参照を削除します。
    abstract void
    ページスコープセマンティクスで指定された名前と値を登録します。
    abstract void
    setAttribute(StringSE name, ObjectSE value, int scope)
    適切なスコープセマンティクスで指定された名前と値を登録します。

    クラス java.lang.ObjectSE から継承されたメソッド

    clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
  • コンストラクターの詳細

    • JspContext

      public JspContext()
      唯一のコンストラクター。(サブクラスコンストラクターによる呼び出しの場合、通常は暗黙的です。)
  • メソッドの詳細

    • 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 - 名前に関連付けるオブジェクト、または指定されたスコープから属性を削除する場合は null
      scope - 名前 / オブジェクトを関連付けるスコープ
      例外:
      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 ストリーム
    • 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。