我想知道到底是什么推动了Spring在其web flow产品中使用Spring而不是OGNL:
http://static.springsource.org/spring-webflow/docs/2.2.x/reference/htmlsingle/spring-webflow-reference.html#el-language-choices
使用OGNL,我可以直接通过流程动态创建简单的类和执行方法等。我知道在实际的网页模板(即JSP)中这样做并不是一个好的实践,因为它们是基于表示的,但是web流控制着程序的逻辑,我发现在那里有效地使用OGNL的能力非常方便。此外,您还可以测试流程,以确保它可以轻松工作。
因此,有两个问题:
发布于 2011-01-11 19:43:44
那么,“为什么”是在SpEL docs中说的。
虽然还有其他几种,例如OGNL、MVEL和JBoss EL,但是创建Spring表达式语言是为了为Spring社区提供一种支持良好的表达式语言,可以在Spring中的所有产品中使用。
虽然OGNL有它的优点和它的粉丝,但是它的功能对于Spring 3所需的功能太有限了,所以SpEL诞生了。由于SpEL成为Spring的基本表达式语言,WebFlow转而使用它来代替OGNL。
不过,我没有太多理由使用SpEL,所以我无法告诉您如何完成任何特定的任务。
至于它的优势,我要说的是,虽然OGNL现在停滞不前,但SpEL现在是Spring的核心部分,因此将不断改进和扩展。直截了当地说,OGNL已经死了(它现在由opensymphony.com维护,它几乎不是一个动态的、活跃的组织)
发布于 2011-01-11 21:16:38
并不是说SpEL对维护Spring的人没有多大意义,但OGNL并没有(彻底)死掉,也没有被开放交响乐所维护。
https://github.com/orphan-oss/ognl
更新 (5/23/11):看起来从现在开始,将托管OGNL。http://incubator.apache.org/projects/ognl.html
Update2 (4/3/2014):http://commons.apache.org/proper/commons-ognl/ --它已经存在了一段时间了,但我今天又注意到了这个随机线程。
https://stackoverflow.com/questions/4661769
复制相似问题