122 votes

Différence entre JSP EL, JSF EL et Unified EL

J'aimerais connaître la différence détaillée entre les langages d'expression (EL). Il y a JSP EL, JSF EL et Unified EL.

J'aimerais connaître l'histoire de l'EL et savoir quelle est la dernière EL utilisée dans les applications Java EE. S'agit-il de la EL commune à toutes les technologies de visualisation dans les dernières versions ?

218voto

BalusC Points 498232
  • Juin 2002 : JSTL 1.0 a été introduit avec EL pour la première fois. Il s'agissait de ceux ${} qui fonctionne uniquement dans les balises JSTL. Il est conçu pour appeler les Javabean get méthodes.

  • Nov. 2003 : JSP 2.0 a été introduit et EL a été déplacé de JSTL 1.0 à JSP 2.0 en javax.servlet.jsp.el et il est devenu standard EL dans le cadre de la norme J2EE 1.4. JSTL 1.1 était livré sans EL. Maintenant ${} fonctionne également en dehors des balises JSTL dans le texte du modèle JSP.

  • Mars 2004 : JSF 1.0 a été introduit avec différé EL sur javax.faces.el paquet. C'étaient ceux #{} qui fonctionne uniquement à l'intérieur des balises JSF. La différence avec la JSP EL standard ${} est qu'il ne fait pas seulement get mais peut aussi faire set . Ceci était obligatoire pour l'auto-création de managed bean et la définition des valeurs des composants d'entrée. La norme EL ${} fonctionne également dans les balises de sortie JSF, mais elles ne créeront pas automatiquement les beans s'ils n'existent pas encore dans la portée et elles ne définiront pas les valeurs d'entrée.

  • Mai 2005 : Tout en continuant à préparer la nouvelle version JSP 2.1 qui devrait sortir en mai 2006, nous avons reporté EL #{} a été extraite de JSF et combinée avec la norme EL ${} en el javax.el paquet. A ce moment-là, il est devenu EL unifié qui a été introduit avec JSF 1.2 et est devenu par la suite une partie de JSP 2.1 et de la norme Java EE 5. Le site #{} peut désormais être utilisé dans les balises JSP pour get mais pas aux valeurs set valeurs..

  • Nov. 2006 : Facelets a été introduit comme successeur de JSP. Il permet l'utilisation de #{} dans le texte du modèle en dehors des balises JSF, en remplacement de <h:outputText> sans aucun attribut. Il traite également ${} como #{} Ils se comportent donc de la même manière dans Facelets.

  • Déc 2009 : EL 2.2 a été introduit avec JSP 2.2 / Java EE 6 qui permet maintenant d'appeler des méthodes d'action de beans concrets au lieu d'appeler uniquement des getters/setters Javabean à l'intérieur. #{} syntaxe, par exemple #{bean.method(argument)} . Facelets fait désormais partie de la norme Java EE 6.

18voto

jsears Points 318

Ajoutant à la réponse de BalusC...

EL a été initialement conçu et mis en œuvre par Nathan Abramson du groupe Art Technology en 2001. À l'époque, l'implémentation était connue sous le nom de Simplest Possible Expression Language (SPEL). L'implémentation a ensuite été incluse dans le JSTL1.0. Nathan faisait partie du Groupe d'experts JSR-052 et a été crédité dans le Spécification JSTL comme moteur de la langue d'expression.

"Mention spéciale à Nathan Abramson pour avoir été une force motrice derrière l'expression introduit dans JSTL "

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X