我有一个JavaEE web应用程序,因为它将被部署到某些应用服务器,如websphere tomcat等,因此EL api对我来说是可以获得的,但我不需要关心使用了什么EL实现。
我希望在java代码中使用EL,而不是jsp页面,将一些简单的表达式转换为值常量,如下所示:
public static void main(String[] args) {
// TODO Auto-generated method stub
ExpressionFactory ef = new ExpressionFactoryImpl();
SimpleContext ec = new SimpleContext();
ec.setVariable("value", ef.createValueExpression("0", String.class));
ValueExpression ve = ef.createValueExpression(ec, "${value == \"1\" ? \"enabled\" : \"disabled\"}", String.class);
System.out.println(ve.getValue(ec));
}但是,在本例中,我使用了JUEL库,因此需要访问JUEL实现类。我的问题是,除了在javax.el包中使用类之外,我还能做同样的事情吗?
我是否需要实现我自己的ELContext和VariableMapper以及其他抽象类?
发布于 2013-12-03 08:09:18
MVEL解决了我的问题,它是灵活和强大的!
发布于 2013-11-19 09:28:29
我相信您不需要将EL与您的代码一起破解,我认为在某些情况下这可能是有问题的。
有相当多的库提供类似的功能(称为模板引擎),例如尝试速度或FreeMarker。他们非常容易使用,并有相当多的选择。
https://stackoverflow.com/questions/20066474
复制相似问题