Il existe plusieurs faces JavaServer <context-param>
dans web.xml
: facelets.REFRESH_PERIOD
, facelets.DEVELOPMENT
, facelets.SKIP_COMMENTS
etc. Où puis-je trouver une liste complète de tous ces paramètres?
Tout d'abord, ceux commençant par facelets.
Ne sont pas des paramètres de contexte JSF, mais Facelets 1.x des paramètres de contexte. Auparavant, pendant l'ère JSF 1.x, Facelets n'était pas intégré dans le cadre de JSF. Cependant, depuis JSF 2.0, Facelets est intégré dans le cadre de JSF, remplaçant JSP hérité comme technologie d'affichage par défaut, et la plupart des paramètres de contexte Facelets 1.x ont été remappés en paramètres de contexte JSF 2.x.
Les vrais noms des paramètres de contexte JSF commencent par javax.faces.
. Ils sont répertoriés dans le chapitre 11.1.3 de la spécification JSF . Voici un extrait de la pertinence de la spécification JSF 2.0:
11.1.3 Paramètres de configuration d'application
Les conteneurs de servlets prennent en charge les paramètres de configuration d'application qui peuvent être personnalisés en incluant des éléments
<context-param>
Dans le descripteur de déploiement d'application Web. Toutes les implémentations JSF sont requises pour prendre en charge les noms de paramètres de configuration d'application suivants:
javax.faces.CONFIG_FILES
- Liste, délimitée par des virgules, des chemins de ressources relatifs au contexte dans lesquels l'implémentation JSF recherchera des ressources de configuration d'application (voir Section 11.4.4 "Format de ressource de configuration d'application"), avant de charger une ressource de configuration nommée "/WEB-INF/faces-config.xml
"(Si une telle ressource existe). Si "/WEB-INF/faces-config.xml
" Est présent dans la liste, il doit être ignoré.
javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE
- Si ce paramètre est défini, et appelertoLowerCase().equals("true")
sur une représentationString
de sa valeur renvoietrue
,Application.createConverter()
doit garantir que la valeur par défaut pour le fuseau horaire de toutes les instances dejavax.faces.convert.DateTimeConverter
doit être égale àTimeZone.getDefault()
au lieu de "GMT
".
javax.faces.DEFAULT_SUFFIX
- Autorisez l'application Web à définir un suffixe alternatif pour les pages JSP contenant du contenu JSF. Voir les javadocs pour la constante symboliqueViewHandler.DEFAULT_SUFFIX_PARAM_NAME
Pour la spécification complète.
javax.faces.DISABLE_FACELET_JSF_VIEWHANDLER
- Si ce paramètre est défini, et l'appel detoLowerCase().equals("true")
sur une représentationString
de sa valeur renvoietrue
, la valeur par défautViewHandler
doit se comporter comme spécifié dans la dernière version 1.2 de cette spécification. Tout comportement spécifié dans la section 7.5 "ViewHandler" et implémenté dans la valeur par défautViewHandler
qui concerne la gestion des demandes de pages créées dans JavaServer Faces View Declaration Language ne doit pas être exécuté par le runtime.
javax.faces.FACELETS_LIBRARIES
- Si ce paramètre est défini, le runtime doit l'interpréter comme une liste de chemins séparés par un point-virgule (;), commençant par "/" (sans les guillemets). Le runtime doit interpréter chaque entrée de la liste comme un chemin d'accès par rapport à la racine de l'application Web et interpréter le fichier trouvé sur ce chemin comme une bibliothèque de balises facelet, conformément au schéma déclaré dans la section 1.1 "Définition de schéma XML pour le fichier de ressources de configuration d'application". et y exposer les balises conformément à la section 10.3.2 "Mécanisme de bibliothèque de balises Facelet". Le runtime doit également considérer le nom de paramètrefacelets.LIBRARIES
Comme un alias à ce nom de paramètre pour une compatibilité descendante avec les bibliothèques de balises facelets existantes.
javax.faces.FACELETS_BUFFER_SIZE
- La taille du tampon à définir sur la réponse lorsque leResponseWriter
est généré. Par défaut, la valeur est -1, ce qui n'affectera pas de taille de tampon à la réponse. Cette valeur doit être augmentée si vous utilisez le mode de développement afin de garantir que la réponse n'est pas partiellement restituée lorsqu'une erreur est générée. Le runtime doit également considérer le nom de paramètrefacelets.BUFFER_SIZE
Comme un alias à ce nom de paramètre pour une compatibilité descendante avec les bibliothèques de balises facelets existantes.
javax.faces.DECORATORS
- Une liste point-virgule (;) délimitée des noms de classe de typejavax.faces.view.facelets.TagDecorator
, Avec un constructeur sans argument. Ces décorateurs seront chargés lorsque la première demande de vue VDL Facelets frappe leViewHandler
pour la compilation de la page. Le runtime doit également considérer le nom de paramètrefacelets.DECORATORS
Comme un alias à ce nom de paramètre pour une compatibilité ascendante avec les bibliothèques de balises facelets existantes.
javax.faces.FACELETS_REFRESH_PERIOD
- Lorsqu'une page est demandée, quel intervalle en secondes le compilateur doit-il vérifier les changements. Si vous ne voulez pas que le compilateur vérifie les modifications une fois la page compilée, utilisez une valeur de -1. La définition d'une période de rafraîchissement faible aide pendant le développement à pouvoir modifier les pages dans une application en cours d'exécution. Le runtime doit également considérer le nom de paramètrefacelets.REFRESH_PERIOD
Comme un alias à ce nom de paramètre pour une compatibilité descendante avec les bibliothèques de balises facelets existantes.
javax.faces.FACELETS_RESOURCE_RESOLVER
- Si ce paramètre est défini, le runtime doit interpréter sa valeur comme un nom de classe complet d'une classe Java qui étendjavax.faces.view.facelets.ResourceResolver
Et a un zéro constructeur public d'arguments ou constructeur public à un argument dont le type d'argument estResourceResolver
. Si ce paramètre est défini et que sa valeur n'est pas conforme à ces exigences, le runtime doit enregistrer un message et continuer. Si tel est le cas conforme à ces exigences et possède un constructeur à un argument, la valeur par défautResourceResolver
doit être transmise au constructeur. S'il a un constructeur à zéro argument, il est appelé directement. Dans les deux cas, le nouveauResourceResolver
remplace l'ancien. Le runtime doit également considérer le nom de paramètrefacelets.RESOURCE_RESOLVER
comme un alias à ce nom de paramètre pour une compatibilité ascendante avec les bibliothèques de balises facelets existantes.
javax.faces.FACELETS_SKIP_COMMENTS
- Si ce paramètre est défini, et l'appel detoLowerCase().equals("true")
sur une représentationString
de sa valeur renvoietrue
, le runtime doit garantir que tout XML les commentaires de la page source de Facelets ne sont pas remis au client. Le runtime doit également considérer le nom de paramètrefacelets.SKIP_COMMENTS
Comme un alias à ce nom de paramètre pour une compatibilité descendante avec les bibliothèques de balises facelets existantes.
javax.faces.FACELETS_SUFFIX
- Permet à l'application Web de définir un suffixe alternatif pour les pages XHTML basées sur Facelet contenant du contenu JSF. Voir les javadocs pour la constante symboliqueViewHandler.FACELETS_SUFFIX_PARAM_NAME
Pour la spécification complète.
javax.faces.FACELETS_VIEW_MAPPINGS
- Si ce paramètre est défini, le runtime doit l'interpréter comme une liste de chaînes séparées par un point-virgule (;) qui est utilisée pour déclarer de force que certaines pages de l'application doivent être interprétées comme utilisant des Facelets, indépendamment de leur extension. Le runtime doit également considérer le nom de paramètrefacelets.VIEW_MAPPINGS
Comme un alias à ce nom de paramètre pour une compatibilité descendante avec les applications de facettes existantes. Voir les javadocs pour la constante symboliqueViewHandler.FACELETS_VIEW_MAPPINGS_PARAM_NAME
Pour la spécification complète.
javax.faces.FULL_STATE_SAVING_VIEW_IDS
- Le runtime doit interpréter la valeur de ce paramètre comme une liste d'ID de vue séparés par des virgules, dont chacun doit avoir son état enregistré à l'aide du mécanisme d'enregistrement d'état spécifié dans JSF 1.2.
javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL
- Si ce paramètre est défini, et l'appel detoLowerCase().equals("true")
sur une représentationString
de sa valeur renvoietrue
, toute implémentation deUIInput.validate()
doit prendre les mesures supplémentaires suivantes. Si la valeur du paramètre de contextejavax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL
Esttrue
(en ignorant la casse), etUIInput.getSubmittedValue()
renvoie un appel de longueur nulleString
UIInput.setSubmittedValue(null)
et continuer le traitement en utilisant null comme valeur soumise actuelle
javax.faces.LIFECYCLE_ID
- Identificateur de cycle de vie de l'instanceLifecycle
à utiliser lors du traitement des demandes JSF pour cette application Web. Si non spécifié, l'instance JSF par défaut, identifiée parLifecycleFactory.DEFAULT_LIFECYCLE
, Doit être utilisée.
javax.faces.PARTIAL_STATE_SAVING
--Le paramètre initServletContext
consulté par le runtime pour déterminer si le mécanisme de sauvegarde d'état partiel doit être utilisé. S'il n'est pas défini, le runtime doit déterminer le niveau de version de l'application.
- Pour les applications version 1.2 et antérieures, le runtime ne doit pas utiliser le mécanisme de sauvegarde d'état partiel.
- Pour les applications version 2.0 et supérieures, le runtime doit utiliser le mécanisme de sauvegarde d'état partiel.
Si ce paramètre est défini et que l'application est versionnée à la version 1.2 et antérieure, le runtime ne doit pas utiliser le mécanisme de sauvegarde d'état partiel. Sinon, si ce paramètre est défini et que l'appel de
toLowerCase().equals("true")
sur une représentationString
de sa valeur renvoietrue
, le runtime doit utiliser un mécanisme d'état partiel. Sinon, le mécanisme de sauvegarde d'état partiel ne doit pas être utilisé.
javax.faces.PROJECT_STAGE
- Une chaîne lisible par l'homme décrivant où se trouve cette application JSF particulière dans le cycle de vie du développement logiciel. Les valeurs valides sont "Development
", "UnitTest
", "SystemTest
" ou "Production
", correspondant aux constantes d'énumération de la classejavax.faces.application.ProjectStage
. Il est également possible de définir cette valeur via JNDI. Voir les javadocs pourApplication.getProjectStage()
.
javax.faces.STATE_SAVING_METHOD
- L'endroit où les informations d'état sont enregistrées. Les valeurs valides sont "server
" (généralement enregistrées dansHttpSession
) et "client
" (généralement enregistrées en tant que champ masqué dans le formulaire suivant). S'il n'est pas spécifié, la valeur par défaut "server
" doit être utilisée.
javax.faces.VALIDATE_EMPTY_FIELDS
- Si ce paramètre est défini, et l'appel detoLowerCase().equals("true")
sur une représentationString
de sa valeur renvoietrue
, tous les champs soumis seront validés. Cela est nécessaire pour permettre au validateur de modèle de décider si des valeurs nulles ou vides sont autorisées dans l'application actuelle. Si la valeur estfalse
, les valeurs nulles ou vides ne seront pas transmises aux validateurs. Si la valeur est la chaîne "auto
", le runtime doit vérifier si JSR-303 Beans Validation est présent dans l'environnement actuel. Si tel est le cas, l'exécution doit se dérouler comme si la valeur "true
" avait été spécifiée. Si JSR-303 Beans Validation n'est pas présent dans l'environnement actuel, l'exécution s'exécute le plus comme si la valeur "false
" avait été spécifiée. Si le paramètre n'est pas défini, le système doit se comporter comme si le paramètre était défini avec la valeur "auto
".
javax.faces.validator.DISABLE_DEFAULT_BEAN_VALIDATOR
- Si ce paramètre est défini, et l'appel detoLowerCase().equals("true")
sur une représentationString
de sa valeur renvoietrue
, le runtime ne doit pas automatiquement ajouter le validateur avec validator-id égal à la valeur de la constante symboliquejavax.faces.validator.VALIDATOR_ID
à la liste des validateurs par défaut. La définition de ce paramètre sur true aura pour effet de désactiver l'installation automatique de Bean Validation sur chaque composant d'entrée dans chaque vue de l'application, bien qu'une installation manuelle soit toujours possible.Les implémentations JSF peuvent choisir de prendre en charge des paramètres de configuration supplémentaires, ainsi que des mécanismes supplémentaires pour personnaliser l'implémentation JSF; cependant, les applications qui s'appuient sur ces fonctionnalités ne seront pas portables sur d'autres implémentations JSF.
Comme vous pouvez le lire dans le dernier paragraphe, les implémentations JSF peuvent également avoir leur propre ensemble de paramètres de contexte. Pour Mojarra qui sont ceux commençant par com.Sun.faces.
Qui sont répertoriés sur ce blog: Quels paramètres de contexte Mojarra sont disponibles? Pour MyFaces qui sont ceux commençant par org.Apache.myfaces.
Qui sont également répertoriés sur leur propre site: documentation MyFaces - Paramètres de contexte Web .