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 :

D'après la TLD, l'attribut value n'accepte aucune expression [JSTL]


Sujet :

Taglibs Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 75
    Points : 53
    Points
    53
    Par défaut D'après la TLD, l'attribut value n'accepte aucune expression
    salut !

    Voila je developpe un epetite appli avec des JSP et j'ai rencontré une erreur strange lors de l'utilisation de c:out de la JSTL.


    voila l'erreur :

    description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.


    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
     
    exception 
     
    org.apache.jasper.JasperException: /getmap.jsp(66,11) D'après la TLD, l'attribut value n'accepte aucune expression
    	org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39)
    	org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:405)
    	org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:146)
    	org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:955)
    	org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:710)
    	org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1441)
    	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
    	org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2213)
    	org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2219)
    	org.apache.jasper.compiler.Node$Root.accept(Node.java:456)
    	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
    	org.apache.jasper.compiler.Validator.validate(Validator.java:1489)
    	org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:157)
    	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:556)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    Voici le fichier JSP incriminé (il est comme il est pour le test uniquement )....



    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
     
     
    <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
     
    <html>
     
    <head><title>JSP Sample - ArcWeb Service - Token client </title></head>
    <body>
    <BR />
    <BR />
    <form name="form1" method="post" action="getToken.do">
     <table width="277" border="1">
       <tr>
         <td width="79">&nbsp;</td>
         <td width="87"><p>maxY
           <label>
           <input name="maxY" type="text" id="maxY" value="46.20" />
           </label>
         </p>
          </td>
         <td width="89">&nbsp;</td>
       </tr>
       <tr>
         <td>minX      
           <label></label>
           <label>
           <input name="minX" type="text" id="minX" value="6.11" />
           </label></td>
         <td align="center" valign="middle"><input type="submit" name="Submit" value="YEAH BABY" /></td>
         <td>maxX
           <label>
           <input name="maxX" type="text" id="maxX" value="6.12" />
          </label></td>
       </tr>
       <tr>
         <td height="50">&nbsp;</td>
         <td>minY
           <label>
           <input name="minY" type="text" id="minY" value="46.19" />
          </label></td>
         <td>&nbsp;</td>
       </tr>
     </table>
     <BR /> 
     I want a marker 
     <label>
     <input type="checkbox" name="marker" value="1" />
     </label>
     <br /> 
     at coords : X:
     <label>
     <input type="text" name="markerX" />
     </label> 
     Y:
     <label>
     <input type="text" name="markerY" />
     </label>
    </form>
    <br><br>
    <br>
    <BR>
    YOUR TOKEN VALUE IS : 
     
      <%
      int valeur = 101;
      pageContext.setAttribute("valeur", new Integer(valeur));
    %>
      valeur = <c:out value="${valeur}" /><BR/>
    <br>
    </body>
    </html>

    si je lance cette jsp j'obtien lerreur que vs avez vu plus haut ...

    Du coup, j'ai décidé de faire des tests .... j'ai fait une test.jsp que voici que voila :

    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
     
    <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
    <html>
      <head>
        <title>Exemple</title>
      </head>
     
      <body>
          <c:out value="Bonjour" /><br/>
      </body>
      YOUR TOKEN VALUE IS : <c:out value="${tokenvalue}" /><BR>
      <%
      int valeur = 101;
      pageContext.setAttribute("valeur", new Integer(valeur));
    %>
      valeur = <c:out value="${valeur}" /><BR/>
     
    </html>
    Je précise que les deux pages sont dans le meme context = la meme webapp = la meme config et tout et tout !!!!
    Et bien sur le plus étrange dans tout ca c'est que test.jsp fonctionne a merveille ...

    les deux taglibs utilisées sont pourtant bien les memes....

    je n'y comprend rien ...

    MErci de me dire ou se trouve mon erreur

  2. #2
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    Et bien rajoute les lignes au fur et à mesure et regarde à partir de quand il rale de nouveau.
    Essaye tout de même de vider le contenu du répertoire work pour forcer tomcat à recompiler les jsp. Des fois ca aide.
    Steve Hostettler
    est ton ami(e) et le tag aussi.

  3. #3
    Nouveau membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2002
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 36
    Points : 39
    Points
    39
    Par défaut
    Bonjour,

    Je ne suis pas encore un pro, mais peut-être que ton <c:out> ne peux pas récupérer la variable "valeur" que tu rajoutes "pageContext" quelques lignes au-dessus ? Et si tu initialisait "valeur" dans la servlet/jsp/controleur qui appelle cette jsp ?

    Cordialement.

  4. #4
    Membre régulier
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2003
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 145
    Points : 100
    Points
    100
    Par défaut
    Dans ton code test cette partie n'est pas dans le tag Body :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    YOUR TOKEN VALUE IS : <c:out value="${tokenvalue}" /><BR> 
      <% 
      int valeur = 101; 
      pageContext.setAttribute("valeur", new Integer(valeur)); 
    %> 
      valeur = <c:out value="${valeur}" /><BR/>
    Je ne sais pas si ça peux venir de là mais c'est une différence par rapport à la page d'origine. Ensuite il y a tout ce qui vient avant. Comme le dit ze_key, essaie de rajouter les lignes par blocs ou ligne par ligne et voir à quelle moment ça foire.
    NiGhMa

  5. #5
    Expert éminent sénior
    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
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    Quel est la version de ton application web ? J2EE 1.3 ou 1.4 ?
    Comment est déclaré ton web.xml ?

    a++

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 75
    Points : 53
    Points
    53
    Par défaut
    Salut a tous,

    Pour répondre a adiGuba :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
        version="2.4">
     
      <!-- The Welcome File List -->
      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
     
    </web-app>

    Pour répondre aux autres,

    J'ai essayé de recopier la page ligne par ligne et ca ma refait la meme chose des qu'il a vu le premier c:out, J'ai essayé de le déplacera l'interieur ou a l'exterieur du body et ca na rien changé. J'ai essayé de virer le folder de mon context dans Work de tomcat ...

    et la !!! ...




    oh .... surprise !!!

    test.jsp ne fonctionnait plus non plus ....


    Que quelqu'un m'aide avant que je ne me pende

    Merci a tous !

  7. #7
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    Ok donc il ne la recompilait pas.
    Ton web.xml semble être en ordre. Quelle version de tomat utilises tu, quelle jstl. Pour tester tomcat et eventuellement d'autre probleme (lib). Ramene le war de struts avec les dernieres lib juste pour tester.
    Steve Hostettler
    est ton ami(e) et le tag aussi.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 75
    Points : 53
    Points
    53
    Par défaut
    Ma version de Tomcat :

    apache-tomcat-5.5.14-admin.zip


    JSTL
    jakarta-taglibs-standard-1.1.2.zip


    J'ai balancé struts-examples.war dans webapps et l'applic semble fonctionner ...

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 75
    Points : 53
    Points
    53
    Par défaut
    J'en ai profité pour mettre aussi le standard-examples du package de la jstl et il fonctionne a merveille ....

  10. #10
    Expert éminent sénior
    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
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par ze_key
    Ok donc il ne la recompilait pas.
    Ton web.xml semble être en ordre. Quelle version de tomat utilises tu, quelle jstl.
    En effet le problème vient alors de la version de la JSTL que tu utilises...

    La version 1.0 (que tu utilises) est prévu pour les versions antérieurs à J2EE 1.4. En effet dans ces versions les EL n'existaient pas, et c'est donc la librairie de la JSTL qui les gère.

    Ainsi le <c:out/> de la JSTL 1.0 n'accepte que des chaines de caractères, et c'est le tag qui s'occupe de rechercher la valeur de l'EL ${valeur}.

    Mais dans J2EE 1.4 la gestion des EL a été intégré dans le moteur JSP, et la JSTL 1.1 ne s'occupe plus des EL.


    Il faut donc que tu utilises la JSTL 1.1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    Plus d'info : Les Versions de la JSTL

    a++

    PS : La version de la JSTL que tu utilises dépend de son URL dans taglib, car le fichier jakarta-taglibs-standard-1.1.2.zip contient toutes les versions de la JSTL...

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 75
    Points : 53
    Points
    53
    Par défaut
    Ok merci Infiniement !

    J'ai testé avec la nouvelle directive taglib et ca a fonctionné a merveille

    Merci et bonne année !

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

Discussions similaires

  1. [JSTL] D'après la TLD, l'attribut items n'accepte aucune expression
    Par wiss20000 dans le forum Taglibs
    Réponses: 27
    Dernier message: 06/07/2015, 18h58
  2. Réponses: 4
    Dernier message: 04/12/2008, 17h55
  3. Réponses: 17
    Dernier message: 13/04/2007, 19h17
  4. Réponses: 9
    Dernier message: 17/10/2006, 09h44
  5. [JSTL] D'après la TLD, l'attribut value n'accepte aucune expression
    Par MicroPuce dans le forum Taglibs
    Réponses: 3
    Dernier message: 30/12/2005, 18h44

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