Les attributs sont gérés par une MAP qui associe à chaque nom d'attribut un objet.
Il est possible d'ajouter, supprimer, et lire la valeur d'un attribut.
Les noms des attributs sont uniques dans une MAP, et il n'est pas possible d'avoir, donc, deux attributs avec le même nom dans la MAP.
Voici les méthodes qui permettre de gérer les attributs du scope Session :
-
void setAttribute(String ATTRIBUTE_NAME, Object OBJ)
- ATTRIBUTE_NAME : Nom de l'attribut qui sera mappé avec l'objet.
- OBJ : si la valeur de ce paramètre est null
, alors l'attribut sera supprimé (même effet que removeAttribute
).
- Lance une exception si la session est invalide.
-
void removeAttribute(String ATTRIBUTE_NAME)
- ATTRIBUTE_NAME : Nom de l'attribut à supprimer du scope Session.
- Lance une exception si 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 Session.
- Lance une exception si la session est invalide.
-
Enumeration<String> getAttributeNames()
- Retourne une énumération contenant les noms de tous les attributs du scope Session.
- Retourne une énumération vide si aucun attributs n'existent dans le scope Session.
- Lance une exception si la session est invalide.
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 ;
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.