Spring 4中ExpressionEvaluationUtils的替代方案

时间:2015-09-07 11:43:47

标签: java spring spring-mvc spring-4

在使用Spring 3.2.8时,我们使用ExpressionEvaluationUtils(Deprecated)类来计算表达式。现在我们已将产品从Spring 3迁移到Spring 4.

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

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

有人可以告诉我ExpressionEvaluationUtils类的替代方法是什么?

2 个答案:

答案 0 :(得分:1)

JavaDoc for that class中提及:

  

从Spring 3.2开始不推荐使用,支持JSP 2.0+本机支持   用于JSP页面中的嵌入式表达式(也适用于标记   属性)

因此请改用JSP 2.0+本机表达式。

答案 1 :(得分:1)

您可以使用:

  • Spring Expression Language (EL)
  • 春天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);