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

Java EL系列-1.JUEL简介

2010-01-29 22:58 1571 查看
  inkfish翻译,请勿商业性质转载,转载请注明来源(http://blog.csdn.net/inkfish

)。本文是我学习JUEL同时,对原网站进行的简单的翻译,原网站地址:http://juel.sourceforge.net/

  JUEL
是统一表达式语言(Unified Expression Language

, EL

)的一个实现,是JSP 2.1
标准(JSR-245

)的一部分,已经作为Java EE 5

的一部分,并且,JUEL

2.2实现了JSP 2.2
发行版,与Java EE 6

规范完全兼容。(来源:http://blog.csdn.net/inkfish)

动机

  自从EL作为JSTL的一部分,EL成为JSP 2.0标准的一部分。不过现在,在JSP 2.1中,EL API已经分离到javax.el包中,已经移除了所有JSP核心包的依赖。

  换句话说:EL已经能用到非JSP的应用中!(来源:http://blog.csdn.net/inkfish)

特性

  JUEL

提供了统一表达式语言的轻量级和高效的实现。

  * 高性能

——解析表达式当然是性能的瓶颈。JUEL

用手写的代码来解析,手写的代码效率比之前使用的(javacc)生成的解析器快10倍!一旦编译,表达树会高速的运行。

  * 插件式的缓存

——即使JUEL

解析器飞快,解析表达式相对来说在资源消耗上也是昂贵的。因此,最佳的方法是只解析表达式字符串一次。JUEL

默认的缓存机制,这种机制在多数情况下已经足够使用了。即使如此,JUEL

也允许方便的像插件般使用你自己的缓存。

  * 小体积

——JUEL
经过精心的设计,让代码的大小和内存使用量尽量最小。

  * 方法调用

——JUEL
支持方法调用,比如
${foo.matches('[0-9]+')}


。使用EL的解析机制,方法被解析和调用。在JUEL 2.2
中,方法调用特性是默认打开的。

  * 多参数调用

——JUEL
支持Java 5函数和方法调用里使用多参数,比如,在
format


函数中绑定了
String.format(String, String...)


,允许这样使用:
${format('Hey %s','Joe')}


。在JUEL 2.2

中,多参数特性是默认打开的。

  * 可拔插的

——JUEL
能被配置成能在Java运行环境或JEE应用服务器中自动探测到EL的实现。使用JUEL
并不需要应用去显式的引用JUEL
实现中所特有的类。(来源:http://blog.csdn.net/inkfish)

状态

  JUEL
被认为具有产品级的稳定性,代码经过很好的测试(80%的覆盖率),并且所有特性均已实现。(来源:http://blog.csdn.net/inkfish)

可用性

  JUEL
采用Apache 2.0

许可协议。(来源:http://blog.csdn.net/inkfish)

运行需求

  JUEL
运行需要Java 5

或更新的环境。(来源:http://blog.csdn.net/inkfish)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息