当前位置: 首页 > 知识库问答 >
问题:

Spring不推荐使用的ExpressionEvaluationUtils评估方法的替代方案?

郎正初
2023-03-14

由于类:org.springframework.web.util.ExpressionEvaluationUtils自Spring3.x发行版以来就不推荐使用了,所以我正在java代码中寻找EL表达式求值的另一种替代方法。

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);
    }

}

你能提出更多的替代方案来代替我的实施吗?

共有1个答案

程皓轩
2023-03-14

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

  • Apache Commons OGNL
  • MVEL
  • JBoss EL
  • Spring表达式语言(SpEL)
 类似资料:
  • 问题内容: 我正在使用org.apache.poi 3.15读取一个excel文件(文件扩展名为xlsx)。 这是我的代码: 我收到不推荐使用的警告。谁能告诉我替代方法? 问题答案: 接受的答案显示了弃用的原因,但未列出替代项: 其中是描述单元格类型的枚举。 计划是在POI 4.0中重命名回。

  • 我最近发现是不推荐的。我们该怎么处理? 有什么替代方案吗?

  • 我现在使用下面的代码来断言 ,这会给你糟糕的失败消息,比如“java.lang.断言错误” 收到评论/答案后编辑 我最初的担心是因为Eclipse将以下导入语句显示为已弃用 在查看Hamcrest API文档时,有3个重载的方法变体,其中只有一个被弃用。 因此,为了澄清来自@mark的评论和来自@matt的回答,我在上面发布的的使用是有效的,而不是不建议使用的。

  • 问题内容: 现在我正在使用类似 我需要您的意见以最好/最有效的方式对密码进行加密,当然,加密的密码应受PHP 7.xx支持,并且也应可解密,因为我的客户确实希望选择“恢复”密码而不生成新密码一。 问题答案: 最佳做法是对密码进行哈希处理,以使密码不可解密。这使可能已获得对数据库或文件的访问权限的攻击者的处境变得更加困难。 如果必须加密数据并使其可解密,请访问https://paragonie.co

  • 问题内容: 我是Android编程的新手。 我一直在遵循有关从此网站创建音乐播放器的教程 本教程要求 使用不推荐使用的 Class 方法。哪种方法尤其可以代替此不推荐使用的方法?而且,是否有资料来源可以找到所有不赞成使用的方法及其当前替代方法? 这是我的代码,其中有关于不推荐使用的方法的警告: 问题答案: 如果按CTRL +左键单击方法,则会找到方法声明。这就是使用其内容和javadoc创建方法的

  • 问题内容: 我有一个正在使用的旧代码。 这里是我的代码,其中和已经导入。 在这里,我有些疑问,我编写的代码可以正常工作,但是由于现在不推荐使用,所以我想删除它。我浏览了许多文档,发现使用门户或引用代替了此。我的理解是,如果我使用ref,那么变量get bind到该变量也可以访问DOM元素,但是我想我错了,因为它以这种方式工作。有人可以纠正我对此的理解 问题答案: 根据 此github问题 和 Re