JSF2.2 – Inclure une librairie Javascript

By , 16/07/2014

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épertoire resources comme référence
  • name : 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>

Leave a Reply


− 7 = one

OfficeFolders theme by Themocracy