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 :

[DisplayTag] ERREUR "l'uri absolue http://displaytag.sf.net..


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    372
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 372
    Par défaut
    Bonjour!

    J'essaye de mettre en place la lib displaytag dans mon projet.
    En suivant les indications de ce site, j'ai ceci :
    - j'ai téléchargé et mis mon displaytag-1.1.jar dans WEB-INF/lib
    - j'ai téléchargé et mis mon commons-collections-3.2.jar dans WEB-INF/lib
    - j'ai téléchargé et mis mon commons-lang-2.3.jar dans WEB-INF/lib
    - j'ai téléchargé et mis mon displaytag-portlet-1.1.jar dans WEB-INF/lib

    J'avais déjà auparavant le commons-logging.jar, le commons-beanutils.jar et le log4j-1.2.8.jar dans le dossier WEB-INF/lib

    Comme je ne me sert pas des exports, je n'ai pas mis le itext.jar...

    Il me manque qqch?
    Qqn a une idée de pourquoi ca marche pas?

    L'erreur exacte sortie lorsque je demande ma page est la suivante :
    org.apache.jasper.JasperException: L'uri absolue: http://displaytag.sf.net ne peut être résolu dans le fichier web.xml ou dans les fichiers jar déployés avec cette application
    org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:50)
    org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
    org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:114)
    org.apache.jasper.compiler.TagLibraryInfoImpl.generateTLDLocation(TagLibraryInfoImpl.java:316)
    org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:147)
    org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:423)
    org.apache.jasper.compiler.Parser.parseDirective(Parser.java:492)
    org.apache.jasper.compiler.Parser.parseElements(Parser.java:1552)
    org.apache.jasper.compiler.Parser.parse(Parser.java:126)
    org.apache.jasper.compiler.ParserController.doParse(ParserController.java:211)
    org.apache.jasper.compiler.ParserController.parse(ParserController.java:100)
    org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:146)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293)
    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:856)
    visiblement il bloque sur la directive dans ma jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ taglib uri="http://displaytag.sf.net" prefix="display" %>
    Je viens de regarder et en fait j'ai une petite modif à apporter à ce que j'ai posté tout à l'heure :
    en fait mes jar sont dans un dossier appli/lib/ihm
    (je travaille sur un plus gros projet et toutes les lib sont dans le dossier lib), mais comme je les ai ajouté au build path normalement ca devrait marcher pareil non ?

    Je suis sous Eclipse lomboz 3.1.1, mon serveur est le serveur Tomcat 5.5, et le jdk est le 1.4.2 update 8... c'est possible que ce soit un problème de plateforme...?

  2. #2
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    L'uri absolue: http://displaytag.sf.net ne peut être résolu dans le fichier web.xml ou dans les fichiers jar déployés avec cette application
    Ce type de message est souvent lié à un problème de version de J2EE.
    Et oui, on y revient.

    Donc, finalement, es-tu toujours en J2EE 1.4 ?

    En J2EE 1.4, il suffit de coder ceci dans la jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ taglib uri="http://displaytag.sf.net" prefix="display" %>
    En J2EE 1.3, il faut copier la tld sous WEB-INF et ajouter la directive taglib dans le web.xml :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
       <taglib>
          <taglib-uri>http://displaytag.sf.net</taglib-uri>  
          <taglib-location>/WEB-INF/displaytag.tld</taglib-location>
       </taglib>

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    372
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 372
    Par défaut
    Bah je suis en J2EE 1.4 maintenant
    Et l'erreur citée dans mes précédents posts est celle qui survient quand je met dans ma jsp le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ taglib uri="http://displaytag.sf.net" prefix="display" %>
    Mais du coup j'ai fait un autre test (qui ne marche pas non plus ) : j'ai copié le displaytag.tld dans WEB-INF/tld, et j'ai mis dasn ma jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ taglib uri="struts-display" prefix="display" %>
    et dans le web.xml :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <taglib>
          <taglib-uri>struts-display</taglib-uri>
          <taglib-location>/WEB-INF/displaytag.tld</taglib-location>
    </taglib>
    et là ca me sort une autre erreur :
    org.apache.jasper.JasperException: Impossible de charger ou d'instancier la classe TagExtraInfo: org.displaytag.tags.TableTagExtraInfo
    org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:50)
    org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
    org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:279)
    org.apache.jasper.compiler.TagLibraryInfoImpl.createTagInfo(TagLibraryInfoImpl.java:422)
    org.apache.jasper.compiler.TagLibraryInfoImpl.parseTLD(TagLibraryInfoImpl.java:248)
    org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:162)
    org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:423)
    org.apache.jasper.compiler.Parser.parseDirective(Parser.java:492)
    org.apache.jasper.compiler.Parser.parseElements(Parser.java:1552)
    org.apache.jasper.compiler.Parser.parse(Parser.java:126)
    org.apache.jasper.compiler.ParserController.doParse(ParserController.java:211)
    org.apache.jasper.compiler.ParserController.parse(ParserController.java:100)
    org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:146)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293)
    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:856)


    cause mère

    java.lang.ClassNotFoundException: org.displaytag.tags.TableTagExtraInfo
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1338)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1187)
    org.apache.jasper.compiler.TagLibraryInfoImpl.createTagInfo(TagLibraryInfoImpl.java:419)
    org.apache.jasper.compiler.TagLibraryInfoImpl.parseTLD(TagLibraryInfoImpl.java:248)
    org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:162)
    org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:423)
    org.apache.jasper.compiler.Parser.parseDirective(Parser.java:492)
    org.apache.jasper.compiler.Parser.parseElements(Parser.java:1552)
    org.apache.jasper.compiler.Parser.parse(Parser.java:126)
    org.apache.jasper.compiler.ParserController.doParse(ParserController.java:211)
    org.apache.jasper.compiler.ParserController.parse(ParserController.java:100)
    org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:146)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293)
    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:856)
    Je ne vois pas d'où ca vient... à moins que ca ne marche pas du fait d'être en J2EE 1.4, et que du coup ce qu'on aurait fait en étant en J2EE 1.3 ne marche pas.... Je ne vois pas trop d'où vient le pb....

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    372
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 372
    Par défaut
    Je viens en plus de regarder dans le jar displaytag-1.1.jar, il y a bien en effet un TableTagExtraInfo.class dans le package org/displaytag/tags

    mais alors pourquoi lui est-il "impossible de charger ou d'instancier la classe TableTagExtraInfo" ?

    Ce serait un pb de path?

  5. #5
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Si tu es en J2EE 1.4, il n'est pas utile de copier la tld sous WEB-INF et d'ajouter la directive taglib dans le web.xml.

    Normalement, ceci devrait fonctionner:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ taglib uri="http://displaytag.sf.net" prefix="display" %>
    Sinon, peux-tu vérifier que la tld displaytag.tld se trouve bien dans le répertoire META-INF du jar displaytag-1.1.jar ?

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    372
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 372
    Par défaut
    J'ai avancé un petit peu :
    Si la taglib directive n'est pas reconnue, c'est en fait dû au fait que mes jar n'étaient en effet pas dans le dossier WEB-INF/lib comme je l'ai dit dans mon 2ème post.

    Je les ai maintenant déplacés à cet endroit, et là ca marche...

    Mais je ne comprend pas pourquoi ca ne marche pas sasn cela, vu que avant ce que je faisais était d'ajouter mes jar dans un dossier parent : le dossier appli/lib qui est un dossier situé plus haut que le dossier WEB-INF das l'arborescence du projet....Et je déclarais ces jar grâce aux outils fournis par Eclipse :
    - clic droit sur le projet
    - > propriétés
    - > java build path
    - > add jars
    et je sélectionnais les jar dans mon projet.

    Là ca ne marchait pas....

    Maintenant, je fais cela différemment :
    J'ai simplement mis les jar dans mon répertoire WEB-INF/lib, ajouté de la même manière les jar au java build path, et ajouté la directive
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ taglib uri="http://displaytag.sf.net" prefix="display" %>
    dans ma jsp et tout marche.....

    Je ne comprend pas trop comment ca se fait que ca ne marche pas si je les met pas dans ce répertoire et que je les ajoute au build path : pour moi de cette manière il devrait les trouver....

  7. #7
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Tu avais mis au début de la discussion que tu avais copié les jars sous WEB-INF/lib. J'avais donc exclu cette piste.

    Si tu ne mets pas les jars sous WEB-INF/lib, ça ne peut pas fonctionner.

    Il faut distinguer deux choses : mettre les jars dans le Java Build Path du projet pour que les classes soient visibles sous Eclipse et les mettre sous WEB-INF/lib pour que les classes soient accessibles par le serveur au déploiement de l'application.

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    372
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 372
    Par défaut
    En effet, sur mon premier post, j'avais mis ca... Mais j'ai rectifié dans mon second post (dsl d'avoir induit en erreur ). Mais ce que je ne comprend pas, c'est que par exemple pour les jar du genre struts.jar, common-beanutils, common-logging, ... pour ceux là ca ne pose pas de pb....? comment ca se fait?

    Sur ce site, ils mettent :
    Make sure that following libraries are in your WEB-INF/lib directory (or made available via the classpath to your application server)
    Ils veulent dire quoi alors par là....?

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/01/2013, 14h58
  2. Réponses: 2
    Dernier message: 16/08/2012, 09h26
  3. Réponses: 0
    Dernier message: 16/10/2010, 14h59
  4. Modification d'un texte dans une fenetre "d'erreur"
    Par PAUL87 dans le forum Access
    Réponses: 8
    Dernier message: 21/10/2005, 13h12
  5. erreur au démarrage de ORACLE HTTP SERVER
    Par Nounoursonne dans le forum Oracle
    Réponses: 9
    Dernier message: 10/02/2005, 16h13

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