使用Spring EL而不是OGNL的好处?

Met*_*002 9 java spring ognl spring-webflow spring-el

我想知道Spring在其Web流产品中使用Spring EL而不是OGNL究竟是什么原因:

http://static.springsource.org/spring-webflow/docs/2.2.x/reference/htmlsingle/spring-webflow-reference.html#el-language-choices

使用OGNL,我可以直接通过流动态创建简单类和执行方法等.我知道这不是一个很好的做法,这样做内实际的网页模板(即JSP)的,因为它们是基于演示文稿,但网络流量控制你的程序的逻辑,我觉得使用OGNL有效那里是非常方便的功能.此外,您可以测试流量以确保其轻松工作.

那么,有两个问题:

  1. 使用Spring EL而不是OGNL有什么主要好处,特别是在Spring Webflow的上下文中?

  2. 你能用Spring EL创建对象吗?

ska*_*man 15

好吧,SpEL文档中说明了"为什么" :

虽然还有其他几种Java表达式语言,例如OGNL,MVEL和JBoss EL,但是创建Spring表达语言是为了向Spring社区提供一种支持良好的表达式语言,可以在所有产品中使用.春季组合.

虽然OGNL具有其优势和风扇,但其功能对于Spring 3所需的功能来说太有限了,因此SpEL诞生了.由于SpEL成为Spring的基本表达式语言,因此WebFlow将其作为OGNL的替代品.

但是,我没有太多理由使用SpEL,所以我无法告诉你如何完成任何特定的任务.

至于它的优点,我认为主要的一点是,虽然OGNL现在停滞不前,但SpEL现在是Spring的核心部分,因此将不断改进和扩展.直言不讳地说,OGNL已经死了(现在由opensymphony.com维护,这几乎不是一个充满活力的,活跃的组织)