パッケージ 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

        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 ストリーム
      • 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。