Ici, l'objet contexte représente donc la page Web qui est en communication avec notre JavaBean. Nous pouvons, dès lors l'utiliser pour effectuer un certain
nombre d'opérations intéressantes par l'intermédiaire de méthodes adaptées à la situation. Voici juste quelques unes de ses méthodes.
javax.faces.context.FacesContext
Méthodes Retour Explication
getCourentInstance() FacesContext Retourne le contexte courant, c'est-à-dire, la page JSP qui sert de conteneur.
addMessage(String client,
FacesMessage message)void Permet d'envoyer un message d'alerte ou d'erreur directement sur le composant client qui a provoqué l'erreur.
getApplication() Application Retourne l'objet représentant l'ensemble de l'application Web. Nous connaissons déjà cet objet que nous avons appris à
connaître lors de l'étude sur les pages JSP.
getExternalContext() ExternalContext Retourne un objet relatif à tous les éléments externes à la page courante. Cet objet est d'une grande utilitée. Il permet
de récupérer toutes les informations issues de la requête, donc d'être en relation avec l'objet request que nous avons
déjà utilisé avec les servlets. Nous pouvons également connaître l'objet response, l'objet session, etc.
Il existe bien d'autres méthodes comme getViewRoot() ou getRenderResponse() où nous voyons bien à quoi elles correspondent. Mais, elles sont généralement d'un
intérêt plutôt limité.
Ajout de messages sur l'interface utilisateur du client - FacesMessage
Nous pouvons afficher des messages d'alerte sur nos pages JSP par l'intermédiaire de balises adaptées <h:messages> ou <h:message>. Ces alertes apparaissent dans le
cas, par exemple, d'une mauvaise saisie. Nous en avons déjà donné un petit aperçu dans l'étude précédente. L'intérêt de ces messages, c'est qu'ils n'apparaissent qu'en
cas de problème. Ces messages sont implémentés par la classe javax.faces.application.FacesMessage. Dans la suite de cette étude, nous consacrerons tout un chapitre
entier à la gestion de ces messages.
Voici pour l'instant comment nous pouvons créer un message :
FacesContext contexte = FacesContext.getCurrentInstance();
FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "Attention", "Entier attendu");
contexte.addMessage("saisie", message);
javax.faces.application.FacesMessage
Méthodes Retour Explication
SEVERITY_ERROR FacesMessage.Severity Indique qu'une erreur est survenue.
SEVERITY_FATAL FacesMessage.Severity Indique qu'une erreur fatale est survenue.
SEVERITY_INFO FacesMessage.Severity Juste un message d'information.
SEVERITY_WARN FacesMessage.Severity Message qui réclame une attention particulière.
FacesMessage() Construit un message sans valeurs initiales.
setSeverity(FacesMessage.Severitysévérité)void Précise le type de message.
setSummary(String erreurSommaire)void Donne le message mais de façon sommaire.
setDetail(String détailErreur) void Indique précisément le type d'erreur.
FacesMessage(String erreurSommaire) Construit un message sommaire.
FacesMessage(FacesMessage.Severity
sévérité,String sommaire,String détail) Construit un message complet avec le type d'erreur adapté. Certainement le constructeur le plus
utilisé.
Application Web - Application
La classe javax.faces.application.Application permet de gérer des éléments qui sont placés dans l'application Web. Depuis n'importe quelle page, il est alors possible de
créer de nouveaux éléments. Par la suite, une autre page peut ensuite consulter ces nouvelles informations. Nous pouvons par exemple créer de nouveaux types de
convertisseur, de nouveaux types de validateur, gérer l'internationalisation.
Voici comment obtenir ce type d'info :
FacesContext contexte = FacesContext.getCurrentInstance();
Application externe = contexte.getApplication();
javax.faces.application.Application
Méthodes Retour Explication
getRessourceBundle(FacesContext ctx,
String nom)RessourceBundle Récupère la ressource qui gère l'internationalisation spécifiée en argument.
Contexte de l'application Web - ExternalContext
La classe javax.faces.context.ExternalContext permet d'être en relation avec tous les éléments qui sont en relation avec notre page Web. Ainsi, il est possible de connaître
tout ce qui concerne la requête, la réponse, la session en cours, etc.
Voici comment obtenir ce type d'info :
FacesContext contexte = FacesContext.getCurrentInstance();
ExternalContext externe = contexte.getExternalContext();
javax.faces.context.ExternalContext
Méthodes Retour Explication
getApplicationMap() Map Retourne les objets (les attributs) stockés dans l'application Web.
getInitParameter(String paramètre)String Retourne le paramètre initialisé dans le contexte de l'application Web spécifié par le descripteur de déploiement.
getInitParameterMap() Map Délivre l'ensemble des paramètres d'initialisation de l'application Web.
getRemoteUser() String Procure le nom de loggin de l'utilisateur fabriqué dans la requête courante.
getRequestCookieMap() Map Récupère l'ensemble des cookies de la requête.
getRequest() Object Récupère l'objet request que nous connaissons bien.
getRequestContextPath() String Retourne la portion d'URL qui correspond à l'emplacement de l'application Web.
getRequestHeaderMap() Map Retourne l'ensemble de l'en-tête de la requête.
getRequestHeaderValuesMap() Map Retourne l'ensemble de l'en-tête de la requête. Les valeurs sont cette fois-ci sous forme de tableaux de chaînes pour
certains éléments d'en-tête.
getRequestMap() Map Retourne les attributs de l'application courante.
getRequestParameterMap() Map Retourne les paramètres de la requête.
getRequestParameterNames() Iterator Retourne les paramètres de la requête en passant par un itérateur.
getRequestParameterValuesMap() Map Retourne les paramètres de la requête en prenant en compte plutôt les tableaux de chaînes.
getRequestPathInfo() String Retourne uniquement la portion de l'URL qui suit le nom de l'application Web.
getRessource(String chemin)URL Permet de récupérer l'URL d'une ressource.