La variable "pageContext" est une référence sur l'instance de la classe de type
javax.servlet.jsp.PageContext
.
L'instance créée correspond à une implémentation de la classe
javax.servlet.jsp.PageContext
(spécifique aux conteneurs des servlets).
La classe offre un ensemble de méthodes pour accéder aux objets implicites de la page ainsi que des méthodes pour inclure ou rediriger vers d'autres ressources.
La classe offre aussi des méthodes pour gérer des attributs du scope de la page ainsi que les autres scopes (APPLICATION, SESSION, REQUEST).
Voici les méthodes qui permettent de gérer les attributs :
-
void setAttribute(String ATTRIBUTE_NAME, Object ATTRIBUTE_VALUE)
- ATTRIBUTE_NAME : Nom de l'attribut qui sera mappé avec l'objet (spécifié par le paramètre ATTRIBUTE_VALUE) dans le scope PAGE.
- ATTRIBUTE_VALUE : si la valeur de ce paramètre est null
, alors l'attribut sera supprimé (même effet que removeAttribute(String ATTRIBUTE_NAME)
).
- Lance l'exception java.lang.NullPointerException
si la valeur du paramètre ATTRIBUTE_NAME est null
.
-
void setAttribute(String ATTRIBUTE_NAME, Object ATTRIBUTE_VALUE, int ATTRIBUTE_SCOPE)
- ATTRIBUTE_NAME : Nom de l'attribut qui sera mappé avec l'objet (spécifié par le paramètre ATTRIBUTE_VALUE) dans le scope précisé avec le paramètre ATTRIBUTE_SCOPE.
- ATTRIBUTE_VALUE : si la valeur de ce paramètre est null
, alors l'attribut sera supprimé (même effet que removeAttribute(String ATTRIBUTE_NAME, int ATTRIBUTE_SCOPE)
).
- Lance l'exception java.lang.NullPointerException
si la valeur du paramètre ATTRIBUTE_NAME est null
.
- Lance l'exception java.lang.IllegalArgumentException
si le scope est invalide.
- Lance l'exception java.lang.IllegalStateException
si le scope est SESSION et la session est invalide.
-
void removeAttribute(String ATTRIBUTE_NAME)
- ATTRIBUTE_NAME : Nom de l'attribut à supprimer du scope PAGE.
- Lance l'exception java.lang.NullPointerException
si la valeur du paramètre ATTRIBUTE_NAME est null
.
-
void removeAttribute(String ATTRIBUTE_NAME, int ATTRIBUTE_SCOPE)
- ATTRIBUTE_NAME : Nom de l'attribut à supprimer du scope précisé avec le paramètre ATTRIBUTE_SCOPE.
- Lance l'exception java.lang.NullPointerException
si la valeur du paramètre ATTRIBUTE_NAME est null
.
- Lance l'exception java.lang.IllegalArgumentException
si le scope est invalide.
- Lance l'exception java.lang.IllegalStateException
si le scope est SESSION et la session est invalide.
-
Object getAttribute(String ATTRIBUTE_NAME)
- Retourne l'objet associé à l'attribut ATTRIBUTE_NAME
.
- Retourne null si aucun attribut avec ce nom n'existe dans le scope PAGE.
- Lance l'exception java.lang.NullPointerException
si la valeur du paramètre ATTRIBUTE_NAME est null
.
-
Object getAttribute(String ATTRIBUTE_NAME, int ATTRIBUTE_SCOPE)
- Retourne l'objet associé à l'attribut ATTRIBUTE_NAME
.
- Retourne null si aucun attribut avec ce nom n'existe dans le scope précisé avec le paramètre ATTRIBUTE_SCOPE.
- Lance l'exception java.lang.NullPointerException
si la valeur du paramètre ATTRIBUTE_NAME est null
.
- Lance l'exception java.lang.IllegalArgumentException
si le scope est invalide.
- Lance l'exception java.lang.IllegalStateException
si le scope est SESSION et la session est invalide.
-
Object findAttribute(String ATTRIBUTE_NAME)
- Retourne l'objet associé à l'attribut ATTRIBUTE_NAME
si présent dans les scopes PAGE, REQUEST, SESSION, ou APPLICATION.
- Retourne null si aucun attribut avec ce nom n'existe dans aucun scope.
- Lance l'exception java.lang.NullPointerException
si la valeur du paramètre ATTRIBUTE_NAME est null
.
-
Enumeration<String> getAttributeNamesInScope(int ATTRIBUTE_SCOPE)
- Retourne une énumération contenant les noms de tous les attributs du scope précisé avec le paramètre ATTRIBUTE_SCOPE.
- Retourne une énumération vide si aucun attributs n'existent dans le scope précisé.
- Lance l'exception java.lang.IllegalArgumentException
si le scope est invalide.
- Lance l'exception java.lang.IllegalStateException
si le scope est SESSION et la session est invalide.
-
int getAttributesScope(String ATTRIBUTE_NAME)
- Retourne le scope associé à l'attribut ATTRIBUTE_NAME
si présent dans les scopes PAGE, REQUEST, SESSION, ou APPLICATION.
- Retourne 0 si aucun attribut avec ce nom n'existe dans aucun scope.
- Lance l'exception java.lang.NullPointerException
si la valeur du paramètre ATTRIBUTE_NAME est null
.
Notes :
Les valeurs du paramètre ATTRIBUTE_SCOPE sont définies dans la classe
javax.servlet.jsp.PageContext
:
- PageContext.PAGE_SCOPE (public static final int PAGE_SCOPE)
- PageContext.REQUEST_SCOPE (public static final int REQUEST_SCOPE)
- PageContext.SESSION_SCOPE (public static final int SESSION_SCOPE)
- PageContext.APPLICATION_SCOPE (public static final int APPLICATION_SCOPE)
Remarques concernant l'utilisation de ces méthodes :
-
Le nom de l'attribut peut être n'importe quelle chaîne de caractères.
Mais il est conseillé de composer le nom de l'attribut par le nom du domaine et le nom de l'application web, par exemple "com.mtitek.MYWEBAPPLI.MYATTRIBUTENAME".
-
Il y a cependant des noms d'attributs qui sont réservés par la spécification Servlet et ne peuvent pas être utilisés.
Cela concerne tous les noms qui sont préfixés par « java.* », « javax.* », et « sun.* ».
-
Il n'est pas possible d'avoir deux attributs avec le même nom pour le même scope ;
si la méthode
setAttribute
est appelée avec un nom d'un attribut déjà existant,
alors la valeur de ce dernier sera remplacée par la nouvelle valeur.