JavaServer Faces[1] (abrégé en JSF) est un framework Java, pour le développement d'applications Web.

Logo de JavaServer Faces

À l'inverse des autres frameworks MVC traditionnels à base d'actions, JSF est basé sur la notion de composants, comparable à celle de Swing ou SWT, où l'état d'un composant est enregistré lors du rendu de la page, pour être ensuite restauré au retour de la requête.

JSF est agnostique à la technologie de présentation. Il utilise Facelets (en) par défaut depuis la version 2.0, mais peut être utilisé avec d'autres technologies, comme JSP (qui était utilisé jusqu'à la version 1.2) ou XUL.

Versions de JSF

modifier

JSF 1.0

modifier

Première version des spécifications de JSF, est sortie le 11 mars 2004.

JSF 1.1

modifier

Les spécifications JSF 1.1 sont définies dans la JSR 127[2] du consortium Java Community Process, sorties le 27 mai 2004, celles-ci requièrent les bibliothèques suivantes :

JSF 1.2

modifier

Les spécifications de la version 1.2 sont définies dans la JSR 252[3] sortie le 11 mai 2006, celles-ci requièrent les bibliothèques suivantes :

JSF 1.2 comprend un ensemble d'améliorations mineures à la spécification précédente, JSF 1.1 :

  • L'utilisation d'un schéma pour le fichier de configuration, à la place d'une DTD.
  • Des améliorations pour pouvoir gérer plusieurs frames ou fenêtres d'une même application.
  • Quelques corrections pour des bugs.

JSF 2.0

modifier

Les spécifications de JSF 2.0 sont définies dans la JSR 314[4] sortie le 28 juin 2009. Elle remplace les précédentes versions et correspond à la première mise à jour majeure des spécifications entrainant de nombreuses modifications, afin d'en faciliter l'utilisation, augmenter les fonctionnalités et les performances selon le Java Community Process. Cette sortie coïncide avec celle de Java EE 6.

JSF 2.1

modifier

C'est donc la version anterieure a la version 2.2 de JSF sortie le 22 octobre 2010. Elle comporte uniquement des corrections mineures. De ce fait, elle s'appuie sur la même JSR que JSF 2.0.

JSF 2.2

modifier

Version sortie en avril 2013. Les spécifications sont définies dans la JSR 344[5].

Constituants de JSF

modifier

JSF est constitué principalement de:

  • Un ensemble d'APIs pour la représentation et la gestion des composants, de leur état, des évènements, de la validation des entrées et la conversion des sorties, l'internationalisation et l'accessibilité ainsi que la navigation inter-vues
  • Deux jeux de composants standards (affichage de texte, saisie de texte, tables, zone à cocher, etc.) : html et core
  • Deux bibliothèques de balises JSP (une pour chaque jeu de composants) pour permettre l'utilisation des JSPs pour la construction de vues JSF
  • Un modèle évènementiel côté serveur
  • Les Managed-Beans : qui forment la couche contrôle de JSF
  • Unified Expression Language (abrégé en EL) ou langage d'expressions unifié pour JSF et JSP 2.0. Il permet de lier les composants aux managed-beans

Jeux de composants additionnels

modifier

Les deux jeux de composants standards de JSF s'avèrent trop limités et insuffisants pour le développement d'applications d'entreprise. Il est possible dès lors d'utiliser des jeux de composants additionnels qui offrent de nouveaux composants plus riches.

On peut citer par exemple:

  • Primefaces[6], un jeu de composants open-source supportant Ajax, Jsf 2, Push
  • ICEfaces, un jeu de composants open-source supportant Ajax, devenu depuis la version 3 une simple copie d'anciens composants de Primefaces
  • jBoss RichFaces et Ajax4JSF, un jeu de composants open-source supportant Ajax (End of Life reached in June 2016)
  • Apache Tomahawk, un jeu de composants très riche et open-source
  • RCFaces, un jeu de composants très riche AJAX et open-source

Notes et références

modifier

Liens externes

modifier

📚 Artikel Terkait di Wikipedia

Jakarta EE

(JSP) : Framework Web Java Standard Tag Library (JSTL) : bibliothèque de balises pour les JSP JavaServer Faces (JSF) : Java Server Face, Framework Web EJB :

Liste de frameworks Java

Guava ; Hadoop — de la fondation Apache Software ; Hibernate ; JavaFX ; JavaServer Faces ; JUnit — pour les tests unitaires ; Leonardi - de la société

Modèle-vue-contrôleur

Java jusqu'à Java 8, JavaFX, l'interface graphique de Java depuis Java 8, JavaServer Faces, Struts, Spring MVC, Stripes, SWT, Play!, PureMVC, ZeroCouplage

Framework

réorienter vers différentes activités informatiques. (**) Microsoft .NET et les Java Platforms peuvent être vus indifféremment comme des frameworks ou comme des

Site web

Applets Java Macromedia Flash SVG Server Side Includes (SSI) ; PHP: Hypertext Preprocessor (PHP) ; JavaServer Pages (JSP) ; JavaServer Faces (JSF) ; Common

Java Specification Requests

Design-Time Metadata for JavaServerTM Faces Components Le JCP Liste des JSR (en) « JSR 82: Javat. APIs for Bluetooth », Java Community Process. (en) « JSR

GlassFish

JAXB 2.0 : mise en correspondance (mapping) XML/Java utilisée par JAX-WS 2.0 ; JSF (Java Server Faces) - framework MVC StAX - parseur de streaming XML ;

NetBeans

pour l'exécution d'applications web et Java EE : Java Server Pages (JSP), Java Server Faces(JSF), Enterprise JavaBeans (EJB 2.1, EJB 3, EJB 3.1), Apache