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 & TAGLIB] Probleme de compilation


Sujet :

Servlets/JSP Java

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2004
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 5
    Points : 4
    Points
    4
    Par défaut [JSP & TAGLIB] Probleme de compilation
    Bonjour a tous.

    J'ai un problème avec une page jsp. Elle est sensé utilisé un taglib que j'ai créé mais lors de la compilation, j'ai une erreur. Je ne vois pas ce qui la provoque.

    Voici ma jsp
    <%@ taglib uri='/affiche_menu' prefix='menu' %>
    <jsp:useBean id="beanM" class="emf.gag.noyau.bean.BeanMenu" scope="session"/>
    <html><head><title>menu</title></head><body bgcolor="#ffffff">
    <h3>JSP JBuilder généré</h3><br>
    <menu:createMenu bean="<jsp:getProperty name="beanM" property="dossier"/>"/>
    </body></html>
    le ficher de config de la librairie
    <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
    <taglib>
    <tlibversion>1.0</tlibversion>
    <jspversion>1.1</jspversion>
    <shortname>GAG library</shortname>
    <uri>/affiche_menu</uri>
    <info>Librairie de Tags pour le menu</info>
    <tag>
    <name>createMenu</name>
    <tagclass>emf.gag.com.modex.TagMenu</tagclass>
    <attribute>
    <name>bean</name>
    <required>true</required>
    <rtexprvalue>false</rtexprvalue>
    </attribute>
    </tag>
    </taglib>
    et mon taglib qui ne fait encore rien
    import javax.servlet.jsp.*;
    import javax.servlet.jsp.tagext.*;
    import emf.gag.noyau.bean.*;

    public class TagMenu
    extends TagSupport {
    private BeanMenu bean = null;

    public void setDossier(BeanMenu bean) {
    this.bean = bean;
    }

    public int doStartTag() throws JspException {
    return SKIP_BODY;
    }
    }
    et les erreurs que le compilateur me retournent sont les suivantes:
    2004-05-17 11:27:22 - Exception initializing TldLocationsCache: XML parsing error on file /WEB-INF/web.xml: (line 21, col -1): Lélément "{0}" nécessite des éléments additionnels.
    "menu.jsp" : error:org.apache.jasper.JasperException: Error compiling \menu.jsp
    je developpe sur JBuilderX

    merci d'avance pour vos reponses

    P.S. si en passant vous pouviez me dire comment faire pour passer en attribut (pour mon taglib) la variable "dossier" de mon bean, ca serait sympa.

  2. #2
    Membre habitué
    Avatar de dtateur
    Inscrit en
    Mars 2004
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 106
    Points : 140
    Points
    140
    Par défaut
    Je pense que c'est cette ligne qui pose probleme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <menu:createMenu bean="<jsp:getProperty name="beanM" property="dossier"/>"/>
    Je remarque 2 anomalies dans le code tu as envoyés :
    1) la syntaxe n'est pas correcte. La syntaxe correcte est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <menu:createMenu bean="<%=beanM.getDossie()%>" />
    2) ton attribut bean ne peut prendre que des valeurs statiques d'apres ce qui est indiqué dans le TLD donc tu dois mettre un truc de ce style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <menu:createMenu bean="maValeur"/>
    Si tu veux pouvoir que ton attribut bean puisse prendre des valeurs dynamiques tu dois mettre dans le TLD :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <rtexprvalue>true</rtexprvalue>
    Good luck !!!

  3. #3
    Candidat au Club
    Inscrit en
    Mai 2004
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Merci de ta reponse dtateur, mais apparemment ce n'est pas ca la source du problème, je dirais meme que ca en rajoute.

    J'ai changé mon code par ce que tu m'as proposé mais le seul changement que ca a apporté est une erreur à la compilation.

    "menu.jsp" : java.lang.NullPointerException
    une autre idée?

  4. #4
    Membre habitué
    Avatar de dtateur
    Inscrit en
    Mars 2004
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 106
    Points : 140
    Points
    140
    Par défaut
    Je n'avais pas bien regarder l'erreur que te donnais Tomcat, la premiere fois mais as tu configurer l'endroit ou se trouve ton TLD dans le web.xml ???

    Sinon pour le nullPointer essaie ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <menu:createMenu bean="<%=beanM%>" />

  5. #5
    Candidat au Club
    Inscrit en
    Mai 2004
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Ben, je l'ai pas personnellement modifié mais j'ai indiqué a JBuilder ou se trouvait ma librairie et quelle URI lui donné apparemment il l'a bien fait mais je sais pas si il manque quelques choses?

    Voila le seul bout de code qui fait reference a ma librairie
    <taglib>
    <taglib-uri>/affiche_menu</taglib-uri>
    <taglib-location>/WEB-INF/tlds/affiche_menu.tld</taglib-location>
    </taglib>
    et cet instruction marche
    <%=beanM.getDossier()%>

  6. #6
    Membre habitué
    Avatar de dtateur
    Inscrit en
    Mars 2004
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 106
    Points : 140
    Points
    140
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     <taglib>
    <taglib-uri>/affiche_menu</taglib-uri>
    <taglib-location>/WEB-INF/tlds/affiche_menu.tld</taglib-location>
    </taglib>
    A vu d'oeil ça a l'air correct.

    et cet instruction marche
    Citation:
    <%=beanM.getDossier()%>
    Je suppose donc que ton probleme est résolus alors ?

  7. #7
    Candidat au Club
    Inscrit en
    Mai 2004
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Non j'ai toujours mon problème de compilation.

    2004-05-17 02:21:10 - Exception initializing TldLocationsCache: XML parsing error on file /WEB-INF/web.xml: (line 21, col -1): Lélément "{0}" nécessite des éléments additionnels.
    "menu.jsp" : error:org.apache.jasper.JasperException: Error compiling \menu.jsp

  8. #8
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    d'après ton erreur tu as une erreur dans ton fichier "web.xml" alors il faut d'abord commencer par la corriger
    qu'est ce que tu as dans ce fichier aux ligne 20 à 22 ?

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

Discussions similaires

  1. jsp pager tagLib probleme accent
    Par Dev_info dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 25/02/2009, 11h02
  2. [ENCODING] Probleme de compilation de jsp
    Par Jidefix dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 27/02/2008, 10h05
  3. [ tomcat ][jsp]probleme de compilation
    Par lilia dans le forum Tomcat et TomEE
    Réponses: 17
    Dernier message: 03/04/2006, 14h58
  4. [STRUTS] probleme de compilation d'une page JSP
    Par XristofGreek dans le forum Servlets/JSP
    Réponses: 10
    Dernier message: 31/03/2005, 17h48
  5. probleme de compilation d'une jsp
    Par bruno270579 dans le forum JBuilder
    Réponses: 1
    Dernier message: 22/03/2005, 10h27

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