我有一个 JavaEE Web 应用程序,因为它将部署到某种应用程序服务器,例如 weblogic websphere tomcat 等。所以 EL api 对我来说是可用的,但我不需要关心使用什么 EL 实现。
我想在我的 java 代码而不是 jsp 页面中使用 EL 来将一些简单的表达式转换为值常量,如下所示:
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
其他抽象类吗?