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

Struts 1 Java Discussion :

Problème affichage bean


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    227
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 227
    Par défaut Problème affichage bean
    j'ai une petite app, je souhaiterais afficher dans ma page client les détails sur un client.
    la classe action :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    ....
      public ActionForward edit(ActionMapping mapping,
                ActionForm form,
                HttpServletRequest request,
                HttpServletResponse response) throws java.lang.Exception, HibernateException{
            client = (ClientBean) HibernateSQL.Select();       
    request.setAttribute(mapping.getAttribute(),client);
            return mapping.findForward("client");
        }
    la methode de classe HibernateSQL.Select() renvoie un bean client ensuite je la passe en paramètre à ma requête.

    la JSP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ....
     <bean:define id="client" name="client" toScope="session"/>
        <body>
            <html:form action="/client">
                <table border="0">
                    <tbody>
                        <tr>
                            <th><label for="numero">Numéro:</label></th>
                            <td><html:text name="client" property="numero" readonly="yes"/></td>
                        </tr>
                        <tr>
    ...
    le message d'erreur : javax.servlet.jsp.JspException: Cannot find bean client in any scope
    j'ai certainement omis quelque chose!
    quelqu'un peut y jeter un coup d'oeil?

  2. #2
    Membre éclairé Avatar de bouchette63
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 257
    Par défaut
    Bonjour,

    Déjà utilise la balise code pour afficher ton code.

    Sinon pour ton problème :

    - Tu passes les bons paramètres dans ton setAttributes ? (noms et valeurs)
    La méthode setAttribute doit avoir un String et un Object comme paramètres.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String lsOnglet = "2";
    request.setAttribute("Test",lsOnglet);
    - Ensuite tu le récupère dans ta JSP :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <jsp:useBean id="Test" scope="request" class="java.lang.String"/>
    ou 
    <bean:define id="lsTest" name="Test" type="String" scope="request"/>
    Essaye l'une des deux façon en request.

  3. #3
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    227
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 227
    Par défaut
    je ne sais pas si je me trompe mais cette ligne de code place un attribut client dans le scope de la page vers laquelle je vais être forwardé
    je dois être capable la récuperer dans ma jsp!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    request.setAttribute(mapping.getAttribute(),client);

  4. #4
    Membre éclairé Avatar de bouchette63
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 257
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    request.setAttribute(mapping.getAttribute(),client);
    Cette ligne de code doit bien placer un attribut dans le scope request, pour pouvoir être récupéré dans ta page JSP forwardé.

    Mais elle me paraît fausse...

    A-tu respecté mes exemples ?

    C'est à dire préciser la class ou le type dans ta JSP quand tu récupère ta variable passé dans le scope request.

    Mais aussi vérifié que tu places les bons paramètres dans ton setAttribute. Si tu nommes ta variable client, tu dois faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    request.setAttribute("client", mapping.getAttribute());
    ou
    String client = "client";
    mapping.getAttribute(client,mapping.getAttribute());
    A toi

  5. #5
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    227
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 227
    Par défaut
    l'appel de la fonction est juste la méthode
    dans le code ci-dessus renvoit un string qui correspond au nom de la form bean, le problème est de savoir la valeur de string renvoyé, est-ce celui du nom de ma form bean dans mon fichier de config struts?j'ai déjà tester cette solution dans <bean:define> le problème n'est tjrs pas résolu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    request.setAttribute(mapping.getAttribute(),client);
    le problème pourrait venir de ma jsp, la valeur que doit prendre la propriété name de <bean:define>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <bean:define id="client" name="client" toScope="session"/>
    merci pour ton aide

  6. #6
    Membre éclairé Avatar de bouchette63
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 257
    Par défaut
    Pourquoi ne pas tout simplement lui donner un nom statique. Car c'est pour cela que tu as ton erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    javax.servlet.jsp.JspException: Cannot find bean client in any scope
    Puisque dans ta page jsp, il ne trouve pas ta variable que tu stoques dans le scope, avec le nom de variable mapping.getAttribute.
    Sinon le seul moyen de savoir ce que retourne ta méthode est le debug.

    A part ça ta valeur name doit porter le nom de ton attribut stoqué dans le scope. Donc la valeur de mapping.getAttribute().

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 08/06/2009, 11h30
  2. problème affichage image
    Par thealpacino dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 30/05/2005, 13h56
  3. Problème affichage primitive
    Par goutbouyo dans le forum DirectX
    Réponses: 4
    Dernier message: 29/12/2004, 18h25
  4. [Plugin][VE] Problème affichage
    Par sebb84 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 05/07/2004, 14h50
  5. [DOS] Problème affichage de DOS dans un Memo
    Par Pedro dans le forum API, COM et SDKs
    Réponses: 9
    Dernier message: 25/06/2004, 13h31

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