パッケージ jakarta.servlet.jsp.el

クラス ScopedAttributeELResolver


  • public class ScopedAttributeELResolver
    extends ELResolver
    スコープ属性の変数解決動作を定義します。

    このリゾルバーは、base が null である可変解決を処理します。PageContext.findAttribute() で一致する属性を検索します。setValue の場合に見つからない場合は、指定された名前でページスコープに新しい属性が作成されます。

    導入:
    JSP 2.1
    関連事項:
    ELResolver
    • コンストラクターの詳細

      • ScopedAttributeELResolver

        public ScopedAttributeELResolver()
    • メソッドの詳細

      • getValue

        public ObjectSE getValue​(ELContext context,
                               ObjectSE base,
                               ObjectSE property)
        ベースオブジェクトが null の場合、ページ、リクエスト、セッション、アプリケーションスコープで指定された名前の属性を検索し、現在の名前の属性が存在する場合はそれを返します。

        ELContext オブジェクトの propertyResolved プロパティは、スコープ属性が一致する場合に戻る前に、このリゾルバーによって true に設定されている必要があります。このメソッドが呼び出された後にこのプロパティが true でない場合、呼び出し元は戻り値を無視する必要があります。

        次で指定:
        クラス ELResolvergetValue 
        パラメーター:
        context - この評価のコンテキスト。
        base - null のみがこのリゾルバーによって処理されます。他の値はすぐに戻ります。
        property - 解決するスコープ属性の名前。
        戻り値:
        ELContext の propertyResolved プロパティが true に設定されている場合、スコープ属性。それ以外の場合は未定義です。
        例外:
        NullPointerExceptionSE - コンテキストが null の場合
        ELException - プロパティまたは変数の解決の実行中に例外がスローされた場合。スローされた例外は、可能であれば、この例外の原因プロパティとして含める必要があります。
      • getType

        public ClassSE<ObjectSE> getType​(ELContext context,
                                     ObjectSE base,
                                     ObjectSE property)
        ベースオブジェクトが null の場合、Object.class を返し、スコープ属性に設定するのに任意の型が有効であることを示します。

        ベースが null の場合に戻る前に、ELContext オブジェクトの propertyResolved プロパティをこのリゾルバーによって true に設定する必要があります。このメソッドが呼び出された後、このプロパティが true でない場合、呼び出し元は戻り値を無視する必要があります。

        次で指定:
        クラス ELResolvergetType 
        パラメーター:
        context - この評価のコンテキスト。
        base - null のみがこのリゾルバーによって処理されます。他の値はすぐに戻ります。
        property - 解決するスコープ属性の名前。
        戻り値:
        ELContext の propertyResolved プロパティが true に設定されている場合、Object.class です。それ以外は未定義。
        例外:
        NullPointerExceptionSE - コンテキストが null の場合
        ELException - プロパティまたは変数の解決の実行中に例外がスローされた場合。スローされた例外は、可能であれば、この例外の原因プロパティとして含める必要があります。
      • setValue

        public void setValue​(ELContext context,
                             ObjectSE base,
                             ObjectSE property,
                             ObjectSE val)
        ベースオブジェクトが null の場合、既存のスコープ属性を新しい値に設定するか、この名前で存在しない場合は新しいスコープ属性を作成します。

        指定された属性名がページスコープ、リクエストスコープ、セッションスコープ、アプリケーションスコープの属性のキーと一致する場合、対応する属性値は指定された値に置き換えられます。それ以外の場合は、指定された名前と値で新しいページスコープ属性が作成されます。

        ベースが null の場合に戻る前に、ELContext オブジェクトの propertyResolved プロパティをこのリゾルバーによって true に設定する必要があります。このメソッドが呼び出された後、このプロパティが true でない場合、呼び出し元は戻り値を無視する必要があります。

        次で指定:
        クラス ELResolversetValue 
        パラメーター:
        context - この評価のコンテキスト。
        base - null のみがこのリゾルバーによって処理されます。他の値はすぐに戻ります。
        property - 設定するスコープ属性の名前。
        val - スコープ属性の値。
        例外:
        NullPointerExceptionSE - コンテキストが null の場合。
        ELException - プロパティまたは変数の解決の実行中に例外がスローされた場合。スローされた例外は、可能であれば、この例外の原因プロパティとして含める必要があります。
      • isReadOnly

        public boolean isReadOnly​(ELContext context,
                                  ObjectSE base,
                                  ObjectSE property)
        ベースオブジェクトが null の場合、false を返し、スコープ属性が読み取り専用にならないことを示します。

        ベースが null の場合に戻る前に、ELContext オブジェクトの propertyResolved プロパティをこのリゾルバーによって true に設定する必要があります。このメソッドが呼び出された後、このプロパティが true でない場合、呼び出し元は戻り値を無視する必要があります。

        次で指定:
        クラス ELResolverisReadOnly 
        パラメーター:
        context - この評価のコンテキスト。
        base - null のみがこのリゾルバーによって処理されます。他の値はすぐに戻ります。
        property - スコープ属性の名前。
        戻り値:
        ELContext の propertyResolved プロパティが true に設定されている場合、false です。それ以外は未定義。
        例外:
        NullPointerExceptionSE - コンテキストが null の場合。
        ELException - プロパティまたは変数の解決の実行中に例外がスローされた場合。スローされた例外は、可能であれば、この例外の原因プロパティとして含める必要があります。
      • getFeatureDescriptors

        @DeprecatedSE(forRemoval=true,
                    since="JSP 3.1")
        public IteratorSE<FeatureDescriptorSE> getFeatureDescriptors​(ELContext context,
                                                                 ObjectSE base)
        非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
        このメソッドは EL 5.0 で廃止され、EL 6.0 (Jakarta EE 11) で削除される予定です。JSP 4.0 では削除されます。
        ベースオブジェクトが null の場合、このリゾルバーによって解決された各スコープ属性に関する情報を含む FeatureDescriptor オブジェクトを含む Iterator を返します。それ以外の場合は、null を返します。

        返される Iterator には、任意のスコープで見つかったスコープ属性ごとに FeatureDescriptorSE のインスタンスが 1 つ含まれている必要があります。各 info オブジェクトには、単一のスコープ属性に関する情報が含まれており、次のように初期化されます。

        displayName
        - スコープ属性の名前。
        名前
        - displayName プロパティと同じです。
        shortDescription
        - スコープ属性の適切な説明。属性の現在のスコープ(ページ、リクエスト、セッション、アプリケーション)を含める必要があります。実装によって異なります。
        専門家
        false
        隠された
        false
        優先
        true
        さらに、返される FeatureDescriptor には、次の名前付き属性を設定する必要があります。
        ELResolver.TYPE
        - スコープ属性の現在の実行時型。
        ELResolver.RESOLVABLE_AT_DESIGN_TIME
        true.
        オーバーライド:
        クラス ELResolvergetFeatureDescriptors 
        パラメーター:
        context - この評価のコンテキスト。
        base - このリゾルバーによって処理されるのは null のみです。他の値は null 戻り値になります。
        戻り値:
        スコープ属性ごとに 1 つの FeatureDescriptor オブジェクトを含む Iterator、または base が null でない場合は null
        関連事項:
        FeatureDescriptorSE
      • getCommonPropertyType

        public ClassSE<StringSE> getCommonPropertyType​(ELContext context,
                                                   ObjectSE base)
        ベースオブジェクトが null の場合、String.class を返します。それ以外の場合は、null を返します。
        次で指定:
        クラス ELResolvergetCommonPropertyType 
        パラメーター:
        context - この評価のコンテキスト。
        base - このリゾルバーによって処理されるのは null のみです。他の値は null 戻り値になります。
        戻り値:
        ベースが null でない場合は null ; それ以外の場合は String.class