IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

[JSP] Utilisation de session


Sujet :

Servlets/JSP Java

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2004
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 15
    Points : 11
    Points
    11
    Par défaut [JSP] Utilisation de session
    Bonjour,
    Je souhaiterais savoir comment utiliser une session pour conserver une valeur d'une page aux autres svp.
    J'ai fais comme ça: dans ma 1ère page JSP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <jsp:useBean id="loginBean" class="JSPCube.jdbAxisLogin" scope="session"/>
    .....
    <jsp:setProperty name="loginBean" property="droit" value="droit"/>
    .....
    et dans la 2ème page, je voulais faire un traitement en fonction de la valeur de droit et j'ai fais comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <% if ((loginBean.droit).compareTo("0") == 0){ %>
    	Faire traitement spécifique
    <% } %>
    Mais ça ne marche pas...
    Quelqu'un pourrait me dire pkoi?
    Merci.

  2. #2
    Membre du Club
    Inscrit en
    Mars 2002
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 50
    Points : 58
    Points
    58
    Par défaut
    salut,

    les objets en session, tu peux les récupérer en faisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    session.getAttribute("id_de_l_objet");
    sans oublier de caster le résultat car il renvoie toujours un java.lang.Object

    Seb

  3. #3
    Membre à l'essai
    Inscrit en
    Août 2004
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    Salut,
    Merci Seb, j'ai essayé comme tu m'as dit de le faire, c à dire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <% if ((String)(loginBean.getAttribute(droit)).compareTo("0") == 0){ %>
    		Droit = 1
    	<%}%>
    Et le navigateur me sort 3 erreurs:
    La 1ère:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    cannot resolve symbol
    symbol  : variable droit 
    location: class org.apache.jsp.connected_jsp
     if ((String)(loginBean.getAttribute(droit)).compareTo("0") == 0){ 
                                         ^
    La 2ème:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    cannot resolve symbol
    symbol  : variable loginBean 
    location: class org.apache.jsp.connected_jsp
     if ((String)(loginBean.getAttribute(droit)).compareTo("0") == 0){ 
                  ^
    Et la 3ème:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    operator == cannot be applied to java.lang.String,int
     if ((String)(loginBean.getAttribute(droit)).compareTo("0") == 0){ 
                                                                ^
    Et là, je comprend pas; en fait, j'ai tout essayé et ça ne marche pas...

  4. #4
    Membre à l'essai
    Inscrit en
    Septembre 2004
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 11
    Points : 13
    Points
    13
    Par défaut
    Il y a, il me semble un problème de cast.
    essaye plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <% if (((String)loginBean.getAttribute(droit)).compareTo("0") == 0){ %>
    cela devrait éviter l'erreur n°3.

    Pour le reste, droit ne devrait-il pas être entre côtes ?

  5. #5
    Membre éprouvé
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Points : 1 085
    Points
    1 085
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (((String) loginBean.getAttribute(droit)).compareTo("0") == 0) {
    C'est bizarre, pourquoi utiliser compareTo, ça c'est mieux:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (((String) loginBean.getAttribute(droit)).equals("0")) {
    De plus loginBean est un bean et je doute fort qu'il ai une méthode getAttribute, getAttribute s'applique sur une HttpServletRequest.

    Donc si tu as défini un bean login et que tu as un attribut droit, tu dois obligatoirement (pour coller à la norme JavaBeans), avoir deux méthodes setDroit(...) et getDroit(), donc le code devrait ressembler à ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (loginBean.getDroit().equals("0")) {

  6. #6
    Membre éprouvé
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Points : 1 085
    Points
    1 085
    Par défaut
    De plus pour info sur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <jsp:useBean id="loginBean" class="JSPCube.jdbAxisLogin" scope="session"/>
    Cette balise recherche en session un bean du nom de loginBean et du type JSPCube.jdbAxisLogin dans le scope session, alors de deux chose l'une :

    - si le bean n'existe pas ou n'est pas en session il renvoie un nouvelle instance du bean (donc un bean vide de toutes données passées en session),

    - si le bean existe et est en scope session, il renvoie l'instance du bean présente en session.

    Le bean doit être placé en session dans une servlet, une jsp, un formulaire struts, une action struts ou toute autre classe ayant accés à la session. Ceci est effectué par session.setAttribute("loginBean", bean);.

  7. #7
    Membre à l'essai
    Inscrit en
    Août 2004
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    Je te remercie beaucoup pour tes informations;
    En fait, même comme tu m'as dit de faire (j'ai qd meme repris ta syntaxe), ça ne voulait pas marcher et je me suis rendu compte qu'il fallait rajouter le <jsp:useBean...../> dans chaque page où on réutilise le bean, chose que je ne savais pas et mnt, ça marche sans pb.
    Merci qd même....
    Samios

  8. #8
    Membre éprouvé
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Points : 1 085
    Points
    1 085
    Par défaut
    Ben oui c'est évident, si tu ne ne mets pas la balise useBean, tu n'auras pas l'instance de ton bean récupérée depuis la session, mais tu n'est pas obligé d'utiliser ce tag.

    En effet ce tag masque le code session.getAttribute(id); , ou request.getAttribute(id); suivant que le scope est request ou session...

    Donc dans ta page tu peux directement faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <% Object bean = session.getAttribute("loginBean"); %>
    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Servlets - JSP] Problème de session
    Par the java lover dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 28/11/2011, 09h54
  2. Réponses: 10
    Dernier message: 06/07/2009, 13h56
  3. utilisation des sessions dans les jsp
    Par casho dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 16/08/2006, 19h45
  4. [Débutant(e)] JSP utilisation static....une autre
    Par tcgenrecom dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 01/03/2004, 15h27
  5. [JavaBeans][JSP]Utilisation d'un JavaBeans
    Par Mister Nono dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 04/08/2003, 16h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo