ExpressionFactory
に置き換えられました @DeprecatedSE public abstract class ExpressionEvaluator extends ObjectSE
式言語エバリュエーターの抽象基本クラス。式言語を実装するクラスは、この抽象クラスを介して機能を公開します。
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')}
コンストラクターと説明 |
---|
ExpressionEvaluator() 使用すべきではありません。 |
修飾子と型 | メソッドと説明 |
---|---|
abstract ObjectSE | evaluate(StringSE expression, ClassSE<?> expectedType, VariableResolver vResolver, FunctionMapper fMapper) 使用すべきではありません。 式を評価します。 |
abstract Expression | parseExpression(StringSE expression, ClassSE<?> expectedType, FunctionMapper fMapper) 使用すべきではありません。 後で評価するために式を準備します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public abstract Expression parseExpression(StringSE expression, ClassSE<?> expectedType, FunctionMapper fMapper) throws ELException
expression
- 評価される式。expectedType
- 評価結果の予想される型 fMapper
- 式で見つかった関数を解決する FunctionMapper。null にすることもできます。その場合、この呼び出しでサポートされる関数はありません。parseExpression()
から戻った後、ExpressionEvaluator は FunctionMapper 参照を保持してはなりません。返された Expression
オブジェクトは、指定された FunctionMapper
インスタンスのマッピングが ExpressionEvaluator.parseExpression()
と Expression.evaluate()
の呼び出しの間に変更されたかどうかに関係なく、同じ関数を呼び出す必要があります。ELException
- 解析エラーが見つかった場合にスローされます。public abstract ObjectSE evaluate(StringSE expression, ClassSE<?> expectedType, VariableResolver vResolver, FunctionMapper fMapper) throws ELException
expression
- 評価される式。expectedType
- 評価結果の予想される型 vResolver
- 暗黙的なオブジェクトの名前をオブジェクトに解決するために実行時に使用できる VariableResolver インスタンス。fMapper
- 式で見つかった関数を解決する FunctionMapper。null にすることもできます。その場合、この呼び出しでサポートされる関数はありません。ELException
- 式の評価が失敗した場合にスローされます。Copyright © 2019 Eclipse Foundation.
Use is subject to license terms.