您的位置:首页 > 产品设计 > UI/UE

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

2010-01-30 22:21 585 查看
  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