JSF2.2 – Inclure une librairie Javascript
Il existe un composant standard pour inclure une librairie Javascript : h:outputScript
. Pour que JSF trouve cette librairie, il faut quelle soit présente dans un répertoire de type resources
:
- Soit à la racine du contexte web :
src/main/webapp/resources
pour un projet Maven - Soit directement encapsulée dans un jar :
META-INF/resources
A mon sens, les deux attributs les plus importants de ce composant sont :
library
: Le chemin du répertoire où se trouve le fichier Javascript en prenant en compte le répertoireresources
comme référencename
: Le nom du fichier Javascript
Par exemple pour inclure le fichier Javascript se trouvant dans src/main/webapp/resources/ma/librairie/lib.js
ou bien dans META-INF/resources/ma/librairie/lib.js
:
<h:outputScript library="ma/librairie" name="lib.js" />
Pour tester sur des cas réels, vous pouvez récupérer une des nombreuses librairies Javascript packagées dans un jar disponibles à cette adresse : http://www.webjars.org/. Pour vous facilité la tâche ces librairies sont disponibles sur Maven. Par exemple pour ajouter aux dépendances de votre projet la librairie amchart :
<dependency> <groupId>org.webjars</groupId> <artifactId>amcharts</artifactId> <version>3.10.0</version> </dependency>