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 :

probleme dans une JSP (copie d'attributs d'un objet dans un autre objet)


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Avril 2008
    Messages : 58
    Par défaut probleme dans une JSP (copie d'attributs d'un objet dans un autre objet)
    Bonjour à tous,

    J'ai un petit problème dans une JSP. Je cherche à copier les attributs d'un objet mis en session en attendant, dans un autre objet...Problème le compilateur me fait une erreur et me dit qu'il ne trouve pas la classe en question. âpres vérification il n'y a aucune raison à ce message vu que la classe est accessible et que je peu même créer des objet de cette meme classe... je me tape la tête contre les murs...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    <%@ page language="java" import="test.Produit"%>
    <%@ page language="java" import="test.solde1"%>
    <%@ page language="java" import="java.io.*"%>
     
     <% test.Produit produit1 = (Produit)session.getAttribute("produit1"); 
     
     if (produit1 == null )
     {
         produit1 = new test.Produit();
         session.setAttribute("produit1",produit1);
     }    
        
        try{
        solde1 solde11 = new test.solde1();
        session.setAttribute("solde11",solde11);
        }
        catch(Exception e)
        {    
            out.println(e);
        }
        
     
     
     
     %>
     
     
     <%= produit1.getNom() %>
     <%= solde11.getNom() %>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    package test;
     
    public class solde1 {
     
         public String nom = "skjldkl";
         public String prix = "lkdslklk";
         public String desc = "dfsjkfj";
         public String ref = "hjkhkjdhdk";
     
         public String getDesc()  { return desc; }
         public String getNom()  { return nom; }
         public String getPrix()  { return prix; }
         public String getRef() {return ref;}
     
         public void setRef(String ref) {this.ref=ref; }
         public void setDesc(String desc) { this.desc = desc; } 
         public void setNom(String nom) { this.nom = nom; }
         public void setPrix(String prix) { this.prix = prix; }
     
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    package test;
     
    public class Produit {
        String nom ="1";
        String prix ="2";
        String desc ="3";
        String ref ="4" ;
     
        public String getDesc()  { return desc; }
        public String getNom()  { return nom; }
        public String getPrix()  { return prix; }
        public String getRef() {return ref;}
     
        public void setRef(String ref) {this.ref=ref; }
        public void setDesc(String desc) { this.desc = desc; } 
        public void setNom(String nom) { this.nom = nom; }
        public void setPrix(String prix) { this.prix = prix; }
     
    }
    type Rapport d'exception

    message

    description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.

    exception

    org.apache.jasper.JasperException: Impossible de compiler la classe pour la JSP

    Une erreur s'est produite à la ligne: 29 dans le fichier jsp: /afficheProduit2.jsp
    Erreur de servlet générée:
    solde11 cannot be resolved


    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

    cause mère

    org.apache.jasper.JasperException: Impossible de compiler la classe pour la JSP

    Une erreur s'est produite à la ligne: 29 dans le fichier jsp: /afficheProduit2.jsp
    Erreur de servlet générée:
    solde11 cannot be resolved
    merci d'avance


    PS: autre question peut on stocké plus d'un objet dans la session ?

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,
    je suppose que ta ligne 29 est celle-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%= solde11.getNom() %>
    Car ici tu as déclaré ta variable solde11 dans le bloc try et à cette ligne tu tentes de l'utiliser en dehors...
    Essaie de déclarer ta variable avant de rentrer dans le try et ca devrait aller...

  3. #3
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Bonjour,

    Pour ta jsp, je ne suis pas sûr qu'il puisse reconnaitre directement la session, il faut faire sur les setAttribute ou getAttribute par ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    request.getSession().setAttribute("produit1",produit1);
    Ensuite pour solde11, plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    test.Solde1 solde11 = new test.solde1();
    avec Solde1 et non solde1 car les noms de classes commencent tjs par une Majuscule

    Essayes déjà tout cela

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Avril 2008
    Messages : 58
    Par défaut
    Tout simplement...merci George7 tu avais raison, cela coulé de bon sens... mais il fallait y penser...

    Merci aussi à French

    PS>French: ma JSP reconnait bien directement la session.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Avril 2008
    Messages : 58
    Par défaut
    Une dernière chose... j'aimerai copier l'objet Produit1 et ses attribut dans l'objet solde11 et ses attribut...

    Est-ce possible ou je suis en train de délirer la ? comme tout est histoire de conteneur cela devrait être possible, mais rien ne marche, j'ai beau essayer de caster dans tout les sens, tout essayer rien ne marche...Peut etre parceque je manipule un JavaBean..enfin j'en sais rien... je confond peut-être tout la...

    J'attends vos idées

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Par défaut
    Citation Envoyé par bim92i Voir le message
    j'aimerai copier l'objet Produit1 et ses attribut dans l'objet solde11 et ses attribut...
    mais rien ne marche, j'ai beau essayer de caster dans tout les sens, tout essayer rien ne marche...
    Un bête solde11.setDesc(produit1.getDesc()) ne suffit pas ? curieux...
    Et quand tu dis que ça ne marche pas, quel est le problème (compilation ou exécution ? quel message d'erreur ?)

    Ceci dit, copier tous les champs d'une classe vers l'autre n'est pas forcément la meilleure chose à faire.
    Ne vaudrait-il mieux pas déclarer un champ de type Produit dans Solde1 ? (et ensuite tu définis setProduit(Produit p), getProduit(), et tu accèdes bien évidemment aux champs du produit via le solde avec solde11.getProduit().getDesc() etc...)
    Bon, ça dépend de ce que représentent ces classes en fait.

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

Discussions similaires

  1. Creer des objets dans une JSP.
    Par cotede2 dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 26/03/2012, 17h52
  2. Réponses: 1
    Dernier message: 31/08/2009, 22h48
  3. Récupération de sous objet dans une JSP
    Par requiem29 dans le forum Struts 2
    Réponses: 0
    Dernier message: 10/11/2008, 09h43
  4. Recuperer un objet dans une JSP
    Par iviath dans le forum JSF
    Réponses: 2
    Dernier message: 05/09/2008, 14h58
  5. Acces aux attributs d'un bean dans une jsp
    Par mariemor64 dans le forum Struts 1
    Réponses: 2
    Dernier message: 02/06/2006, 10h32

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