J2ee: variable session de Jsp vers Servlet

Résolu/Fermé
Bonit@+1 Messages postés 6 Date d'inscription samedi 9 avril 2011 Statut Membre Dernière intervention 2 août 2011 - 9 avril 2011 à 20:34
 bonit@+1 - 17 avril 2011 à 14:14
Bonjour :)
Je suis nouvelle en J2EE et je suis coincée sur un truc !!
Voila J'ai crée une variable de session sur ma page JSP_2 et je veux la transmettre à ma Servlet

En fait j'ai d'abord utilisé la balise de lien 'a' pour passer une variable de ma JSP_1 vers ma JSP_2 (Vue que la balise de lien ne permet pas que le 'href' soit une Servlet ) et là je l'ai transformé en variable de Session et je veux la transmettre de ma JSP_2 vers ma Servlet
Mais par quel moyen !!

Merci d'avance.

4 réponses

BadGuitarist Messages postés 367 Date d'inscription dimanche 12 octobre 2008 Statut Membre Dernière intervention 20 octobre 2013 27
10 avril 2011 à 06:30
Bonjour


Pour récupérer la valeur de "agent" enregistrée dans ta session,
tu placeras ce code dans dans ta JSP_2 :
  <%
    Agent agent = (Agent) session.getAttribute("agent");
  %>


le paramètre de getAttribute est le nom d'enregistrement de ta valeur lors du setAttribute que tu as dû faire dans ta JSP_1.
Attention : bien reprendre le même nom et respecter la casse.

2
En faite le problème c'était que dans la balise lien je transmettais vers une page Page.java (qui est une Servlet) il fallait tout simplement transmettre vers "Page" sans extension
Merci pour l'aide sur les variable de Session BadGuitarist :)
1
Bonit@+1 Messages postés 6 Date d'inscription samedi 9 avril 2011 Statut Membre Dernière intervention 2 août 2011 1
10 avril 2011 à 21:44
Salut ,
Merci D'abord pour ta réponse,

Désolé je n'ai pas très bien saisie c'est quoi au juste le "Agent" avec grand A, aussi je voudrais préciser que j'ai transféré vers ma JSP_1 une variable via le lien.
Donc dans ma JSP_2 je l'ai récupéré de cette façon :

<%
int ref = Integer.parseInt(request.getParameter("ref"));
%>

Puis je l'ai transformé en variable de Session :
<%
session.setAttribute("supref",ref);
%>

Là je veux la transmettre vers ma Servlet et la récupéré dans ma Servlet.

En voulant récupérer ma variable de Session sur ma Servlet j'ai utiliser le code suivant :

int sid = Integer.parseInt((String)request.getSession().getAttribute("ref"));
Mais, Est ce que je dois faire une redirection de ma JSP_2 vers ma Servlet ?
0
BadGuitarist Messages postés 367 Date d'inscription dimanche 12 octobre 2008 Statut Membre Dernière intervention 20 octobre 2013 27
12 avril 2011 à 00:28
Bonjour Bonit@+1,

Dans le code que je t'ai donné précédemment, Agent et agent représentent un exemple d'une Classe et d'une instance de cette même classe que l'on souhaite transmettre à l'aide d'une session.

Pour info, quand tu utilises cette syntaxe : request.getParameter("ref")
tu récupères dans l'url la valeur du paramètre ref.

Pour utiliser une session, il faut :
1- la créer avec :
HttpSession session = request.getSession(true); // nouvelle session
2- enregistrer dans cette session des valeurs (objets ou variables) :
session.setAttribute("ref", ref);
3- récupérer dans la session en cours la valeur souhaitée :
HttpSession session = request.getSession(); // session en cours
Ref ref = session.getAttribute("ref");

Les étapes 1 et 2 peuvent être des instructions de ta JSP_1.
L'étape 3 peut faire partie intégrante de ta JSP_2.
Tu auras ainsi passer ref de la JSP_1 à la JSP_2.
0