Spring 4 中 ExpressionEvaluationUtils 的替代方案

Alternative of ExpressionEvaluationUtils in Spring 4

我们在使用 Spring 3.2.8 时使用 ExpressionEvaluationUtils(已弃用)class 来评估表达式。现在我们已经将我们的产品从 Spring 3 迁移到 Spring 4。

final Object argument = ExpressionEvaluationUtils.evaluate("argument", stringArray[0], this.pageContext);

在 Spring 4 中,他们删除了这个 util 文件。我已经搜索了一些替代方案 util/service 但没有得到任何结果。

谁能告诉我 ExpressionEvaluationUtils class 的替代品是什么?

JavaDoc for that class中提到:

Deprecated as of Spring 3.2, in favor of the JSP 2.0+ native support for embedded expressions in JSP pages (also applying to tag attributes)

所以请改用 JSP 2.0+ 本机表达式。

您可以使用:

  • Spring Expression Language (EL)
  • Spring ExpressionFactory:

    ELContext elContext =  pageContext.getELContext();
    JspFactory jf = JspFactory.getDefaultFactory();
    JspApplicationContext jac = jf
                     .getJspApplicationContext(pageContext.getServletContext());
    ExpressionFactory ef = jac.getExpressionFactory();
    ValueExpression val = ef.createValueExpression(elContext, "your expression", resultClass);