Comment diviser faces-config.xml en plusieurs fichiers?

Comment diviser faces-config.xml en plusieurs fichiers?

Problème

Dans JSF, le fichierfaces-config.xml peut être utilisé pour inclure des beans de gestion, des règles de navigation ou toute configuration de faces JSF. Mais, mettre toutes les configurations dans un seul fichierfaces-config.xml fera en sorte que ce fichier devienne énorme très rapidement, et causera un sérieux problème de maintenabilité.

Solution

En fait, vous pouvez diviser lesfaces-config.xml en plusieurs fichiers plus petits, chaque groupe par paramètres associés. Par exemple, regrouper par module, beans gérés, règle de navigation, configurations de faces dans différents fichiers XML. Voir figure ci-dessous:

jsf2-multiple-faces-config-files

Ensuite, a déclaré tous les fichiers XML dans le paramètre d'initialisationjavax.faces.CONFIG_FILES, qui se trouve dans le fichierWEB-INF/web.xml.


  ...
  
    javax.faces.CONFIG_FILES
    
        WEB-INF/common/manage-beans.xml,
        WEB-INF/common/navigation-rule.xml,
        WEB-INF/common/config.xml
    
  
  ...

Note
Pour le développeur Struts, c'est exactement le problème classique qui s'est produit dans lesStruts configuration file également.