web-dev-qa-db-fra.com

Vue d'ensemble de tous les noms et valeurs des paramètres de contexte web.xml liés à JSF

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?

29
Cherry

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 appeler toLowerCase().equals("true") sur une représentation String de sa valeur renvoie true, Application.createConverter() doit garantir que la valeur par défaut pour le fuseau horaire de toutes les instances de javax.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 symbolique ViewHandler.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 de toLowerCase().equals("true") sur une représentation String de sa valeur renvoie true, la valeur par défaut ViewHandler 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éfaut ViewHandler 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ètre facelets.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 le ResponseWriter 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ètre facelets.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 type javax.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 le ViewHandler pour la compilation de la page. Le runtime doit également considérer le nom de paramètre facelets.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ètre facelets.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 étend javax.faces.view.facelets.ResourceResolver Et a un zéro constructeur public d'arguments ou constructeur public à un argument dont le type d'argument est ResourceResolver. 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éfaut ResourceResolver doit être transmise au constructeur. S'il a un constructeur à zéro argument, il est appelé directement. Dans les deux cas, le nouveau ResourceResolver remplace l'ancien. Le runtime doit également considérer le nom de paramètre facelets.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 de toLowerCase().equals("true") sur une représentation String de sa valeur renvoie true, 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ètre facelets.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 symbolique ViewHandler.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ètre facelets.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 symbolique ViewHandler.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 de toLowerCase().equals("true") sur une représentation String de sa valeur renvoie true, toute implémentation de UIInput.validate() doit prendre les mesures supplémentaires suivantes. Si la valeur du paramètre de contexte javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL Est true (en ignorant la casse), et UIInput.getSubmittedValue() renvoie un appel de longueur nulle StringUIInput.setSubmittedValue(null) et continuer le traitement en utilisant null comme valeur soumise actuelle

  • javax.faces.LIFECYCLE_ID - Identificateur de cycle de vie de l'instance Lifecycle à utiliser lors du traitement des demandes JSF pour cette application Web. Si non spécifié, l'instance JSF par défaut, identifiée par LifecycleFactory.DEFAULT_LIFECYCLE, Doit être utilisée.

  • javax.faces.PARTIAL_STATE_SAVING --Le paramètre init ServletContext 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ésentation String de sa valeur renvoie true, 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 classe javax.faces.application.ProjectStage. Il est également possible de définir cette valeur via JNDI. Voir les javadocs pour Application.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 dans HttpSession) 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 de toLowerCase().equals("true") sur une représentation String de sa valeur renvoie true, 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 est false, 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 de toLowerCase().equals("true") sur une représentation String de sa valeur renvoie true, le runtime ne doit pas automatiquement ajouter le validateur avec validator-id égal à la valeur de la constante symbolique javax.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 .

74
BalusC