Différence entre le JSP EL, le JSF EL et le Unified EL [fermé]

je voudrais connaître la différence détaillée entre L'Expression Languages (EL). Il y a JSP EL, JSF EL et Unified EL.

je voudrais connaître l'histoire derrière le EL et ce que la dernière EL est qui est utilisé dans les applications Java EE. Est-ce le EL commun pour toutes les technologies de vue dans les dernières versions?

120
demandé sur Arjan Tijms 2011-01-27 07:29:17
la source

2 ответов

  • Juin 2002: JSTL 1.0 a été introduit avec EL pour la première fois. Ce sont ces ${} choses qui fonctionne dans les étiquettes JSTL seulement. Il est conçu pour appeler méthodes Javabean get .

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

  • mars 2004: JSF 1.0 a été introduit avec différé EL dans javax.faces.el paquet. Ce sont ces #{} choses qui fonctionne à l'intérieur des étiquettes JSF seulement. La différence avec la norme JSP EL ${} est qu'il ne fait pas seulement get , mais peut également faire set . C'était obligatoire pour gestion de la création automatique de fèves et la fixation des valeurs des composants d'entrée. Le standard EL ${} fonctionne aussi dans les étiquettes de sortie JSF, mais ils ne vont pas créer automatiquement des fèves s'ils n'existent pas encore dans scope et ils ne vont pas définir les valeurs d'entrée.

  • mai 2005: tout en préparant le nouveau JSP 2.1 qui devrait être publié en mai 2006, le #{} différé a été extrait du JSF et combiné avec le ${} standard dans le javax.el paquet. À ce moment, il est devenu el unifié qui a été introduit avec JSF 1.2 et est devenu plus tard partie de JSP 2.1 et Java EE 5 standard. Le #{} peut maintenant aussi être utilisé dans les tags JSP pour les valeurs get , mais pas pour les valeurs set . Le ${} peut maintenant dans JSP auto-créer aussi des haricots gérés, mais pas les valeurs set .

  • Nov 2006: Facelets a été introduit comme successeur de JSP. Il permettait l'utilisation de #{} dans le texte du modèle en dehors des balises JSF, comme substitut à <h:outputText> sans aucun attribut. Il traite également ${} comme #{} , de sorte qu'ils se comportent tous les deux de la même façon dans les Facelets.

  • Dec 2009: EL a été extrait de la spécification JSP et est devenu une spécification autonome qui sera maintenue indépendamment de JSP, la première version étant EL 2.2 (JSR-245), analogue à JSP 2.2. Principales nouvelles la fonctionnalité appelle des méthodes paramétrées au lieu de n'appeler que des getters/setters Javabéens à l'intérieur de la syntaxe #{} , par exemple #{bean.method(argument)} . De plus, les Facelets sont devenus partie intégrante de la norme Java EE 6.

  • Jun 2013: EL 3.0 a été introduit qui est livré avec un processeur EL autonome, permettant l'utilisation dans une application Java SE simple. Les autres principales nouvelles fonctionnalités sont la nouvelle chaîne opérateur de concaténation += , nouvelles opérations pour les objets de collection, y compris streams et Lambda expressions -> (même sur Java 6/7!) et l'importation de constantes dans le champ D'application EL.

212
répondu BalusC 2016-03-19 14:25:29
la source

ajoute à la réponse de BalusC...

EL a été initialement conçu et mis en œuvre par Nathan Abramson de Art Technology Group en 2001. À l'époque, L'implémentation était connue sous le nom de langage D'Expression le plus simple possible (SPEL). La mise en œuvre a ensuite été incluse dans le JSTL1.0. Nathan faisait partie du JSR-052 groupe D'experts , et a été crédité dans le spécification JSTL comme la force motrice derrière l'expression langue.

" mention spéciale à Nathan Abramson pour être une force motrice derrière l'expression langue introduite dans le JSTL "

16
répondu jsears 2013-12-19 01:15:03
la source

Autres questions sur jsf jsp el java-ee