パッケージ jakarta.servlet.jsp.el
クラス ExpressionEvaluator
- java.lang.ObjectSE
-
- 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()
使用すべきではありません。
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド 非推奨のメソッド 修飾子と型 メソッド 説明 abstract ObjectSE
evaluate(StringSE expression, ClassSE<?> expectedType, VariableResolver vResolver, FunctionMapper fMapper)
使用すべきではありません。式を評価します。abstract Expression
parseExpression(StringSE expression, ClassSE<?> expectedType, FunctionMapper fMapper)
使用すべきではありません。後で評価するために式を準備します。
メソッドの詳細
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
- 式の評価が失敗した場合にスローされます。