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

Taglibs Java Discussion :

mon Premier taglib [Custom Tags 1.2]


Sujet :

Taglibs Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Elwe31
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 487
    Par défaut mon Premier taglib
    Bonjour,

    Quelqu'un peut-il me dire pourquoi ça le fait pas :
    je pige pas

    web.xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      <taglib>
         <taglib-uri>monTag</taglib-uri>
         <taglib-location>/WEB-INF/tld/Hellotag.tld</taglib-location>
      </taglib>
    Hellotag.tld :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <taglib>
    	<tlib-version>1.0</tlib-version>
    	<jsp-version>1.2</jsp-version>
    	<description>Bibliothèque de taglibs</description>
    	<tag>
           	     <name>hellotag</name>
    	     <tag-class>mypackage.HelloTag</tag-class>
    	     <description>Tag qui affiche bonjour</description>
    	     <body-content>empty</body-content>
    	</tag>
    </taglib>
    HelloTag.java :
    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
     
    package mypackage;
     
    import java.io.IOException;
    import javax.servlet.jsp.*; 
    import javax.servlet.jsp.tagext.*;
     
    public class HelloTag extends TagSupport 
    {
    	public int doStartTag() throws JspException 
    	{
    		try 
    		{
    			pageContext.getOut().println("Hello World !");
    		} 
    		catch (IOException e) 
    		{
    			throw new JspException ("I/O Error", e);
    		}
    		return SKIP_BODY;
    	}
    }
    hello.jsp:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <%@ taglib uri="monTag" prefix="test" %>
    <test:hellotag />
    et enfin le beau message d'erreur de tomcat :
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    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: 2 dans le fichier jsp: /hello.jsp
    The method setPageContext(PageContext) is undefined for the type HelloTag
    1: <%@ taglib uri="monTag" prefix="e" %>
    2: <e:hellotag />
     
     
    Une erreur s'est produite à la ligne: 2 dans le fichier jsp: /hello.jsp
    The method setParent(null) is undefined for the type HelloTag
    1: <%@ taglib uri="monTag" prefix="e" %>
    2: <e:hellotag />
     
     
    An error occurred at line: 87 in the generated java file
    The method doEndTag() is undefined for the type HelloTag
     
    An error occurred at line: 88 in the generated java file
    The method reuse(Tag) in the type TagHandlerPool is not applicable for the arguments (HelloTag)
     
    An error occurred at line: 91 in the generated java file
    The method reuse(Tag) in the type TagHandlerPool is not applicable for the arguments (HelloTag)
     
    Stacktrace:
    	org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
    	org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
    	org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:423)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:308)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
    	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
     
     
    note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/6.0.13.
    Voila voila, Help me please !!!!

  2. #2
    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
    Remplace doStartTag par doEndTag
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre éclairé Avatar de Elwe31
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 487
    Par défaut
    Toujours pas !

    Je viens de voir qu'Eclipse de dit pour la ligne :
    import javax.servlet.jsp.tagext.*;
    --> the import javax.servlet.jsp.tagext.* cannot be resolved

    Please help me !!!

    Vi vi, je sais je ne suis qu'un pauvre debutant qui ne demande qu'a apprendre.

    merci encore.

  4. #4
    Membre émérite Avatar de zorm
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Par défaut
    laisses tomber le conseil de OButterlin. Laisses comme tu as fait mais dans ton .tld rajoutes un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <jsp-version>1.2</jsp-version>
        <shortname>testTag</shortname>
        <description>Bibliothèque de taglibs</description>
    et apres dans ta JSP il te reste plus qu'a l'appeller comme ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <%@ taglib uri="monTag" prefix="testTag" %>
    <testTag:hellotag />
    Je viens de tester sur mon poste, ca marche tres bien :p

  5. #5
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par Elwe31
    Je viens de voir qu'Eclipse de dit pour la ligne :
    import javax.servlet.jsp.tagext.*;
    --> the import javax.servlet.jsp.tagext.* cannot be resolved
    Il faut que tu rajoutes le fichier jsp-api.jar dans le build-path d'eclipse (clic droit sur le projet, "Build Path" -> Add external archives).

    Tu trouveras ce fichier dans le répertoire common/lib de Tomcat...

    a++

    PS : Si tu développes une application Web, tu auras surement besoin d'ajouter également servlet-api.jar
    PS2 : Des plugins tel que WTP font cela à ta place (et d'autre chose aussi).

  6. #6
    Membre éclairé Avatar de Elwe31
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 487
    Par défaut


    Merci a vous tous....

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

Discussions similaires

  1. [JSF] mon premier JSF:Cannot find FacesContext
    Par anitshka dans le forum JSF
    Réponses: 15
    Dernier message: 24/08/2007, 18h19
  2. [Débutant] Mon premier programme: rien ne va...
    Par vincent0 dans le forum OpenGL
    Réponses: 10
    Dernier message: 02/08/2005, 13h59
  3. [JSF] mon premier custom component
    Par anitshka dans le forum JSF
    Réponses: 5
    Dernier message: 14/06/2005, 13h31
  4. [debutant]Mon premier prog OpenGL
    Par Revan777 dans le forum OpenGL
    Réponses: 5
    Dernier message: 04/04/2005, 17h40

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