Java EL系列-2.JUEL快速入门

  inkfish翻译,请勿商业性质转载,转载请注明来源(http://blog.csdn.net/inkfish )。本文是我学习JUEL同时,对原网站进行的简单的翻译,原网站地址:http://juel.sourceforge.net/guide/start.html 。

快速入门

  JUEL 发行版包含下面一些jar文件:(来源:http://blog.csdn.net/inkfish)

  1.juel-api-2.2.x.jar ——包含javax.el 包下的一些类
  2.juel-impl-2.2.x.jar ——包含de.odysseus.el 实现类
  3.juel-spi-2.2.x.jar ——包含META-INF/service/javax.el.ExpressionFactory 服务提供资源的定义(如果你的classpath里有多个EL的实现,而你又希望使用JUEL的实现,那么需要调用ExpressionFactory.newInstance()
  4.juel-2.2.x.jar ——包含java.el 包下的类,并且包含de.odysseus.el 下的实现类,而且还有服务提供接口(spi)

  也就是说:juel-2.2.x.jar = juel-api-2.2.x.jar + juel-impl-2.2.x.jar + juel-spi-2.2.x.jar(来源:http://blog.csdn.net/inkfish)

  下面是所有你在你的应用中使用EL所需要的(假设你已经把juel-2.2.x.jar 放到classpath下,并且导入了javax.el.* ):(来源:http://blog.csdn.net/inkfish)

  1.工厂和上下文(来源:http://blog.csdn.net/inkfish)

//ExpressionFactory类的实现是de.odysseus.el.ExpressionFactoryImpl ExpressionFactory factory = new de.odysseus.el.ExpressionFactoryImpl(); //de.odysseus.el.util provides包提供即时可用的子类ELContext de.odysseus.el.util.SimpleContext context = new de.odysseus.el.util.SimpleContext();

  2. 函数和变量(来源:http://blog.csdn.net/inkfish)

//设置map函数math:max(int, int)使用java.lang.Math.max(int, int) context.setFunction("math", "max", Math.class.getMethod("max", int.class, int.class)); //map变量foo设置为0 context.setVariable("foo", factory.createValueExpression(0, int.class));

  3. 解析和求值(来源:http://blog.csdn.net/inkfish)

//解析表达式 ValueExpression e = factory.createValueExpression(context, "${math:max(foo,bar)}", int.class); //设置顶级的属性"bar"值为1 factory.createValueExpression(context, "${bar}", int.class).setValue(context, 1);

你可能感兴趣的:(java,Math,jar)