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 :

unRapport cannot be resolved


Sujet :

Servlets/JSP Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 200
    Par défaut unRapport cannot be resolved
    Bonjour,

    Voici ce que j'ai comme erreur dans eclipse pour le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <bean:define id="unRapport" name="rapports" type="com.socgen.ppbrapport.metier.domaine.document.rapport.Rapport" />
    <html:option value="<%=unRapport.getNom().substring(0,unRapport.getNom().length()-12).toUpperCase()%>">
    <bean:write name="unRapport" property="libelleBDD" />
    J'ai l'erreur:

    unRapport cannot be resolved

    Avez-vous une idée?

    Je ne maitrise pas trop les tags jsps

    Merci.

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    bean:define va définir un bean dans le scope choisi (par défaut request scope). Dans ton "<%=" tu va référencer directement une variable locale au code du jsp, ce qui n'a rien à voir avec le request scope. Cette variable n'existe pas. Un code correct serait ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <html:option value="<%=((com.socgen.ppbrapport.metier.domaine.document.rapport.Rapport) request.getAttribute("unRapport")).getNom().substring(0,((com.socgen.ppbrapport.metier.domaine.document.rapport.Rapport) request.getAttribute("unRapport")).length()-12).toUpperCase()%>">

  3. #3
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    A mon avis, il ne trouve pas la classe... pas une question de scope...
    As-tu mis une directive
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <%@ page import="nom.package.NomClasse"%>
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 200
    Par défaut
    Merci les gars.
    Bon j'y vais par ordre.
    Dans un premier temps j'ai ajouté le package come ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ page import="com.socgen.ppbrapport.metier.domaine.document.rapport.Rapport"%>
    Resultat: rien n'a changé.

  5. #5
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Dans ton application, tu as bien fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    request.setAttribute("unRapport", objet); <- com.socgen.ppbrapport.metier.domaine.document.rapport.Rapport
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 200
    Par défaut
    OButterLin,

    Non C'est pas fait.

    Est-ce que c'est obligatoire de la faire?

  7. #7
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    as tu essayé ce que je t'ai suggéré.

    OButterlin: les request scope est quelque chose de séparé des variable locale des scriptlet. Si les scriptlet veulent accéder au request scope, il doivent faire des request.getAttribute, comme je l'ai mentionné. Son Bean:define crée dans le request scope.

  8. #8
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Flûte ! J'étais à l'ouest... (désolé)

    J'ai interprété ton <bean:define> comme un <jsp:useBean> (à force de lire trop rapidement )

    Là, il faut avoir mis sous "rapports" l'objet dans le scope
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 200
    Par défaut
    Une question peut etre bete:

    est-ce que je peux changer le scope de <bean:define> pour résoudre le probleme.
    OButterlin je vais essayer ta proposition tout à l'heure. Je voulais d'abords essayer de comprendre d'abords ce qui n'allait pas.

    Merci.

  10. #10
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Oui, la balise <bean:define> possède l'attribut "scope"
    D'ailleurs, en passant, par défaut, si rien n'est indiqué, le scope n'est pas request mais page.
    Specifies the variable scope searched to retrieve the bean specified by name. If not specified, the default rules applied by PageContext.findAttribute() are applied.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 200
    Par défaut
    Alors quoi mettre dans le scope.
    Je pensais à scope="page" mais j'ai toujours le meme probleme.

  12. #12
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    quel que soit le scope que tu utilise, le bean sera dans un "scope", ce ne sera pas une variable. Hors ton scriplet manipule des variables. T'es obligé, pour l'utiliser dans un scriptlet, de rapatrier la donnée de ce scope. Le code donné est un exemple. Tu peux aussi utilise jsp:usebean pour ça (qui est totalement différent de bean:define)

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 200
    Par défaut
    Merci tchize.

    Tout simplement formidable!

    En tout cas j'aurais appris bcp de chose sur les jsps.

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

Discussions similaires

  1. [Portlet] renderRequest cannot be resolved
    Par Jedy dans le forum Portails
    Réponses: 2
    Dernier message: 17/09/2007, 10h03
  2. Réponses: 3
    Dernier message: 13/01/2006, 11h00
  3. [eclipse 3.1][wtp][jsp2.0] jspContext cannot be resolved
    Par ddams dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 17/06/2005, 19h47
  4. [Importation] Import cannot be resolved
    Par Nikko95 dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 11/01/2005, 11h54
  5. [Java2D] "The Import java2d cannot be resolved" ?
    Par jmhC dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 08/08/2004, 15h52

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