2011-01-11 15 views
9

Ich habe mich gefragt, was Frühling genau bewegt Frühling EL über OGNL im Netz Flow Produkt zu verwenden:Vorteile der Verwendung von Feder EL über OGNL?

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

Mit OGNL kann ich dynamisch einfache Klassen erstellen und Methoden ausführen, usw., direkt durch den Fluss. Ich weiß, dass es keine gute Übung ist, dies in tatsächlichen Webseitenvorlagen (d. H. JSPs) zu tun, da sie auf der Präsentation basieren, aber der Webfluss die Logik Ihres Programms kontrolliert und ich finde, dass OGNL effektiv dort verwendet werden kann. Außerdem können Sie den Fluss testen, um sicherzustellen, dass er problemlos funktioniert.

also zwei Fragen:

  1. Gibt es große Vorteile mit Spring EL über OGNL, vor allem im Rahmen des Frühlings Webflow?

  2. Können Sie Objekte mit Spring EL erstellen?

Antwort

15

Nun, das "Warum" in der SpEL docs angegeben:

Zwar gibt es mehrere andere Java-Ausdruck Sprachen verfügbar sind, OGNL, MVEL und JBoss EL, um nur einige zu nennen, der Frühling Expression Language wurde entwickelt, um der Spring-Community eine einzige gut unterstützte Ausdruckssprache zur Verfügung zu stellen, die für alle Produkte im Spring-Portfolio verwendet werden kann.

Während OGNL hat seine Vorteile und seine Fans, seine Funktionalität zu begrenzt für das, was für den Frühling 3, erforderlich war, und so wurde Spel geboren. Und weil SpEL die Basisausdruckssprache für Spring wurde, hat WebFlow dies als Ersatz für OGNL übernommen.

Ich hatte nicht viel Ursache, um SPEL viel zu verwenden, obwohl ich Ihnen nicht sagen konnte, wie man eine bestimmte Aufgabe erledigt.

In Bezug auf die Vorteile, würde ich sagen, die erste ist, dass während OGNL jetzt stagniert, SpEL ist ein Kernteil von Spring jetzt, und so wird kontinuierlich verbessert und erweitert werden. Offen gesagt, OGNL ist tot (es wird jetzt von opensymphony.com gepflegt, das ist kaum eine dynamische, aktive Organisation)

+0

Akzeptiert. Übrigens habe ich herausgefunden, dass Sie den neuen Operator in Spring EL direkt verwenden können, also ja, Sie können Objekte erstellen! Genial. – MetroidFan2002

+0

@ MetroidFan2002: Die Ähnlichkeit zwischen Unified EL und SPE ist nur oberflächlich. SPEL ist viel, viel ausdrucksvoller und leistungsfähiger, es benutzt zufällig eine ähnliche Syntax. – skaffman

1

Nicht argumentieren, dass SPEL macht keinen Sinn mehr für Leute, die Feder, aber OGNL ist nicht (gründlich) tot und wird nicht von opensymphony gepflegt.

https://github.com/jkuhnert/ognl

So gibt. pfffttttttt

Update (5/23/11): Sieht aus wie Apache wird von jetzt an OGNL hosten. http://incubator.apache.org/projects/ognl.html

Update 2 (2014.04.03): http://commons.apache.org/proper/commons-ognl/ Es war dort für eine Weile, aber ich gerade diesen Zufall Thread heute wieder bemerkt.

+0

Um ...Diese Seite verweist nur auf opensymphony.com – skaffman

+0

Die Statusseite ist [hier] (http://incubator.apache.org/clutch.html) – Heathen

+0

SVN ist [hier] (https://svn.apache.org/repos/ asf/Brutkasten/ognl /). Ab sofort (2011-05-226) wurden keine Veröffentlichungen veröffentlicht. – Heathen

Verwandte Themen