微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Spring弃用的ExpressionEvaluationUtils评估方法的替代方法?

如何解决Spring弃用的ExpressionEvaluationUtils评估方法的替代方法?

您可以使用以下任何项目:

解决方法

自从 Spring
3.x发行版以来,不推荐使用org.springframework.web.util.ExpressionEvaluationUtils类,因此我正在Java代码中寻找EL表达式评估的另一种方法。

阅读JSP 2.x文档后,我确实设法构造了一种替代方法:

import javax.el.ELContext;
import javax.el.ExpressionFactory;
import javax.el.ValueExpression;
import javax.servlet.jsp.JspApplicationContext;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspFactory;
import javax.servlet.jsp.PageContext;


public class ExpressionEvaluationUtils {


    public static Object evaluate(String exp,Class<?> resultClass,PageContext pageContext)
        throws JspException {

        if (pageContext == null){
            return exp;
        }
        ELContext elContext =  pageContext.getELContext();
        JspFactory jf = JspFactory.getDefaultFactory();
        JspApplicationContext jac = jf
                         .getJspApplicationContext(pageContext.getServletContext());
        ExpressionFactory ef = jac.getExpressionFactory();
        ValueExpression val = ef.createValueExpression(elContext,exp,resultClass);
        return val.getValue(elContext);
    }

}

您能为我的实施方案提出更多替代方案吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。