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

クラス ExpressionEvaluator


  • @DeprecatedSE
    public abstract class ExpressionEvaluator
    extends ObjectSE
    使用すべきではありません。
    JSP 2.1 の時点で、ExpressionFactory に置き換えられました

    式言語エバリュエーターの抽象基本クラス。式言語を実装するクラスは、この抽象クラスを介して機能を公開します。

    ExpressionEvaluator のインスタンスは、JspContext/PageContext を介して取得できます

    parseExpression() および evaluate() メソッドはスレッドセーフでなければなりません。つまり、複数のスレッドが同じ ExpressionEvaluator オブジェクトでこれらのメソッドを同時に呼び出す可能性があります。一時的な状態に依存する場合、実装はアクセスを同期する必要があります。ただし、実装では、各 ExpressionEvaluator 型のオブジェクトが 1 つだけインスタンス化されると想定しないでください。グローバルキャッシングは静的である必要があります。

    一度に解析または評価できるのは、'${' で始まり '}' で終わる単一の EL 式のみです。EL 式を静的テキストと混在させることはできません。例: "abc${1+1}def${1+1}ghi" または "${1+1}${1+1}" を解析または評価しようとすると、ELException がスローされます。

    以下は、構文的に正しい EL 式の例です。

    • ${person.lastName}
    • ${8 * 8}
    • ${my:reverse('hello')}
    導入:
    JSP 2.0
    • コンストラクターの詳細

      • ExpressionEvaluator

        public ExpressionEvaluator()
        使用すべきではありません。
    • メソッドの詳細

      • parseExpression

        public abstract Expression parseExpression​(StringSE expression,
                                                   ClassSE<?> expectedType,
                                                   FunctionMapper fMapper)
                                            throws ELException
        使用すべきではありません。
        後で評価するために式を準備します。このメソッドは、式の構文検証を実行する必要があります。その際にエラーを検出すると、ELParseException が発生します。
        パラメーター:
        expression - 評価される式。
        expectedType - 評価結果の予想される型
        fMapper - 式で見つかった関数を解決する FunctionMapper。null にすることもできます。その場合、この呼び出しでサポートされる関数はありません。parseExpression() から戻った後、ExpressionEvaluator は FunctionMapper 参照を保持してはなりません。返された Expression オブジェクトは、指定された FunctionMapper インスタンスのマッピングが ExpressionEvaluator.parseExpression() と Expression.evaluate() の呼び出しの間に変更されたかどうかに関係なく、同じ関数を呼び出す必要があります。
        戻り値:
        引数をカプセル化する Expression オブジェクト。
        例外:
        ELException - 解析エラーが見つかった場合にスローされます。
      • evaluate

        public abstract ObjectSE evaluate​(StringSE expression,
                                        ClassSE<?> expectedType,
                                        VariableResolver vResolver,
                                        FunctionMapper fMapper)
                                 throws ELException
        使用すべきではありません。
        式を評価します。このメソッドは、いくつかの構文検証を実行する場合があります。その場合、構文エラーが発生すると、ELParseException エラーが発生します。EL 評価エラーが発生すると、ELException が発生します。
        パラメーター:
        expression - 評価される式。
        expectedType - 評価結果の予想される型
        vResolver - 暗黙的なオブジェクトの名前をオブジェクトに解決するために実行時に使用できる VariableResolver インスタンス。
        fMapper - 式で見つかった関数を解決する FunctionMapper。null にすることもできます。その場合、この呼び出しでサポートされる関数はありません。
        戻り値:
        式評価の結果。
        例外:
        ELException - 式の評価が失敗した場合にスローされます。