Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Spring EL优于OGNL的好处?_Java_Spring_Spring Webflow_Ognl_Spring El - Fatal编程技术网

Java 使用Spring EL优于OGNL的好处?

Java 使用Spring EL优于OGNL的好处?,java,spring,spring-webflow,ognl,spring-el,Java,Spring,Spring Webflow,Ognl,Spring El,我想知道到底是什么促使Spring在其web流产品中使用Spring EL而不是OGNL: 使用OGNL,我可以直接通过流动态创建简单的类和执行方法等。我知道在实际的网页模板(即JSP)中这样做不是一个好的做法,因为它们基于表示,但web流控制程序的逻辑,我发现有效使用OGNL的能力非常方便。此外,您还可以测试流,以确保其工作轻松 因此,有两个问题: 在OGNL之上使用SpringEL有什么主要的好处吗,特别是在SpringWebFlow的环境中 可以使用Spring EL创建对象吗 那么,为

我想知道到底是什么促使Spring在其web流产品中使用Spring EL而不是OGNL:

使用OGNL,我可以直接通过流动态创建简单的类和执行方法等。我知道在实际的网页模板(即JSP)中这样做不是一个好的做法,因为它们基于表示,但web流控制程序的逻辑,我发现有效使用OGNL的能力非常方便。此外,您还可以测试流,以确保其工作轻松

因此,有两个问题:

  • 在OGNL之上使用SpringEL有什么主要的好处吗,特别是在SpringWebFlow的环境中

  • 可以使用Spring EL创建对象吗

  • 那么,为什么?

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

    虽然OGNL有它的优点和它的粉丝,但它的功能对于Spring3来说太有限了,所以SpEL诞生了。由于SpEL成为Spring的基本表达式语言,WebFlow转而使用它来替代OGNL

    不过,我没有太多理由经常使用SpEL,所以我无法告诉您如何执行任何特定任务


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

    并不是说SpEL对维护Spring的人来说没有什么意义,但OGNL并没有(彻底)死,也不是由opensymphony维护的

    好了。PFFFTTTTT

    更新(5/23/11):看起来从现在起apache将托管OGNL

    更新2(2014年4月3日):
    它已经存在了一段时间,但我今天又注意到了这个随机线程。

    嗯。。。该页面仅链接到opensymphony.comSVN。截至目前(2011-05-226),尚未发布任何版本。@schnitz你在说什么?“……OGNL还没有(彻底)死亡……”@jkuhnert,你或其他人想在2020年更新OGNL的状态吗?它现在至少处于“休眠”状态,不是吗?接受。顺便说一下,我发现你可以直接使用Spring EL中的新操作符,所以是的,你可以创建对象!太棒了。@MetroidFan2002:Unified EL和SPEl之间的相似性只是表面的。SpEL的表现力和功能都非常强大,只是碰巧使用了类似的语法。