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][EL][JOnAS][Struts] utiliser EL dans des JSP 2.0


Sujet :

Servlets/JSP Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 92
    Points : 84
    Points
    84
    Par défaut [JSP][EL][JOnAS][Struts] utiliser EL dans des JSP 2.0
    Salut,

    J'ai une application web (2.4) dans une application d'entreprise (J2EE 1.4) que je déploie dans JOnAS 4.7.5 (et Tomcat 5.5.15). J'utilise Struts 1.2.9 et mes pages JSP (2.0) sont écrites complètement en XML.

    Ce code ne fonctionne pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <c:url value="/css/screen.css" var="css_screen" />
    <link rel="stylesheet" type="text/css" href="${css_print}" />
    Alors que celui-ci fonctionne correctement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <c:url value="/css/screen.css" var="css_screen" />
    <c:out value="${css_screen}" />
    Les EL en dehors des tags ne semblent pas être interprétées. :-/
    Quelqu'un sait-il pourquoi ou comment résoudre ce problème ?

    Merci,
    Zero
    My site : http://blog.lecacheur.com
    GWhere project : http://www.gwhere.org
    Debian Addict site : http://www.debianaddict.org

  2. #2
    Rédacteur/Modérateur
    Avatar de Laurent.B
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    3 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2004
    Messages : 3 468
    Points : 17 036
    Points
    17 036
    Par défaut
    Salut,

    Ton web.xml il contient quoi?
    C'est dans l'entête que ça se passe normalement...
    Responsable FAQ Eclipse | Maintiens et développe un des logiciels destinés aux rédacteurs sur developpez.com
    Gardons toujours à l'esprit que le forum constitue une base documentaire, dont l'utilité et la qualité dépendent du soin apporté à nos questions et nos réponses. Soyons polis, précis (dans le titre et dans le corps des questions), concis, constructifs et faisons de notre mieux pour respecter la langue française et sa grammaire. Merci pour nous (les modérateurs) mais aussi et surtout, merci pour vous.
    Problème solutionné => je vais au bas de la page et je clique sur le bouton (qui suite à mise à jour du forum, a légèrement changé d'aspect).

  3. #3
    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,

    Essayes également de rajouter la ligne suivante dans ta JSPX :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <jsp:directive.page isELIgnored="false"/>
    a++

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 92
    Points : 84
    Points
    84
    Par défaut
    Merci Laurent.B,

    Suite à ta question, dans le doute j'ai vérifié le contenu du web.xml. L'application web était déclarée en 2.2.
    En fait, j'avais créé l'application web 2.4 avec WTP. Puis j'ai récupéré un web.xml d'une précédente application que j'ai copié. Je n'ai pas fais attention, qu'elle était déclarée en 2.2... :-/

    Par contre le code suivant ne fonctionne plus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <c:url value="/css/screen.css" var="css_screen" />
    <c:out value="${css_screen}" />
    Une exception est levée :
    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
    org.apache.jasper.JasperException: /WEB-INF/jsp/layout/public.jsp(33,32) According to TLD or attribute directive in tag file, attribute value does not accept any expressions
    	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
    	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)
    	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    	java.lang.reflect.Method.invoke(Method.java:585)
    	org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243)
    	java.security.AccessController.doPrivileged(Native Method)
    	javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
    	org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:275)
    	org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:161)
    	java.security.AccessController.doPrivileged(Native Method)
    	java.security.AccessController.doPrivileged(Native Method)
    	org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
    	org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:263)
    	org.apache.struts.tiles.TilesRequestProcessor.processTilesDefinition(TilesRequestProcessor.java:239)
    	org.apache.struts.tiles.TilesRequestProcessor.internalModuleRelativeForward(TilesRequestProcessor.java:341)
    	org.apache.struts.action.RequestProcessor.processForward(RequestProcessor.java:572)
    	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:221)
    	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
    	org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    	java.lang.reflect.Method.invoke(Method.java:585)
    	org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243)
    	java.security.AccessController.doPrivileged(Native Method)
    	javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
    	org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:275)
    	org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:161)
    Je pensais que c'était un problème de version de JSTL. Mais j'utilise la version 1.1.2 de Jakarta.
    Zero
    My site : http://blog.lecacheur.com
    GWhere project : http://www.gwhere.org
    Debian Addict site : http://www.debianaddict.org

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 92
    Points : 84
    Points
    84
    Par défaut
    Merci adiGuba,

    Ta solution fonctionne également (et même si l'application web est déclarée en version 2.2).

    Par contre j'ai le même problème avec cette ligne de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <c:url value="/css/screen.css" var="css_screen" />
    <c:out value="${css_screen}" />
    Et qui provoque la même exception que dans mon message ci-dessus... :-(
    Zero
    My site : http://blog.lecacheur.com
    GWhere project : http://www.gwhere.org
    Debian Addict site : http://www.debianaddict.org

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 92
    Points : 84
    Points
    84
    Par défaut
    Je viens de résoudre mon second problème. J'ai ajouté dans mon fichier web.xml la déclaration suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      <taglib>
        <taglib-uri>http://jakarta.apache.org/taglibs/core</taglib-uri>
        <taglib-location>/WEB-INF/c.tld</taglib-location>
      </taglib>
    Et dans la JSP, j'ai remplacé la ligne suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <jsp:root 
    	xmlns:jsp="http://java.sun.com/JSP/Page" 
    	xmlns:c="http://java.sun.com/jstl/core"
    	xmlns="http://www.w3.org/1999/xhtml"
    	version="2.0">
    Par celle-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <jsp:root 
    	xmlns:jsp="http://java.sun.com/JSP/Page" 
    	xmlns:c="http://jakarta.apache.org/taglibs/core"
    	xmlns="http://www.w3.org/1999/xhtml"
    	version="2.0">
    Quelqu'un peut-il m'expliquer précisément pourquoi je ne peux pas utiliser la référence standard des JSTL de Sun ? Elle n'existe peut-être pas en version 1.1... Ou bien, je n'utilise pas la bonne...
    Zero
    My site : http://blog.lecacheur.com
    GWhere project : http://www.gwhere.org
    Debian Addict site : http://www.debianaddict.org

  7. #7
    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 Zero
    Ta solution fonctionne également (et même si l'application web est déclarée en version 2.2).
    Attention toutefois car isELIgnored ne devrait pas être utilisé dans une application version 2.2 car ce n'est pas conforme...

    Citation Envoyé par Zero
    Par contre j'ai le même problème avec cette ligne de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <c:url value="/css/screen.css" var="css_screen" />
    <c:out value="${css_screen}" />
    Et qui provoque la même exception que dans mon message ci-dessus... :-(
    Tu ne dois pas utiliser la bonne version de la JSTL. Jakarta regroupe les 3 versions dans le même jar.

    Je suppose que tu dois utiliser l'URI "http://java.sun.com/jstl/core" qui correspond à la JSTL 1.0 et qui intègre un moteur d'EL. Donc tu ne peux pas l'utiliser avec les JSP 2.0 qui traite les EL avant d'appeller la taglib...

    Il faut soit que tu utilises la JSTL 1.0 sans EL (URI "http://java.sun.com/jstl/core_rt"), ou mieux la JSTL 1.1 qui est faite pour les JSP 2.0 : "http://java.sun.com/jsp/jstl/core"

    Cf : http://adiguba.developpez.com/tutori...jsp/jstl/#L1.3


    a++



    [edit]
    Citation Envoyé par Zero
    Quelqu'un peut-il m'expliquer précisément pourquoi je ne peux pas utiliser la référence standard des JSTL de Sun ? Elle n'existe peut-être pas en version 1.1... Ou bien, je n'utilise pas la bonne...
    Nos messages se sont croisé, mais tu as ta réponse

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 92
    Points : 84
    Points
    84
    Par défaut
    C'est résolu ! Vraiment merci !
    Citation Envoyé par adiGuba
    Il faut soit que tu utilises la JSTL 1.0 sans EL (URI "http://java.sun.com/jstl/core_rt"), ou mieux la JSTL 1.1 qui est faite pour les JSP 2.0 : "http://java.sun.com/jsp/jstl/core"
    J'ai déja rencontré le problème de la chaine /jsp manquante. Mais je ne m'en rappellait plus.

    Dernière question subsidiaire (après j'arrête de vous embêter) : où peut-on trouver tous la liste des attributs possibles dans les <jsp:directive /> ?

    Car connaissant la méthode suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ page isELIgnored="false" %>
    J'avais cherché son équivalent en JSPX, mais sans succès...

    Heureusement que adiGuba nous a donné son équivalent :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <jsp:directive.page isELIgnored="false"/>
    Zero
    My site : http://blog.lecacheur.com
    GWhere project : http://www.gwhere.org
    Debian Addict site : http://www.debianaddict.org

  9. #9
    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 Zero
    Dernière question subsidiaire (après j'arrête de vous embêter) : où peut-on trouver tous la liste des attributs possibles dans les <jsp:directive /> ?
    Dans la doc : http://java.sun.com/products/jsp/docs.html

    Pour la directive page : http://java.sun.com/products/jsp/syn...010.html#15653


    Citation Envoyé par Zero
    C'est résolu ! Vraiment merci !
    Penses au bouton

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 92
    Points : 84
    Points
    84
    Par défaut
    Merci pour les liens. WTP connait tous les attributs de <jsp:directive.page /> sauf isELIgnored ! :-/

    Citation Envoyé par adiGuba
    Penses au bouton
    J'y pensais. Mais j'attendais cette dernière réponse. ;-)
    C'est fait et encore merci pour tous !
    Zero
    My site : http://blog.lecacheur.com
    GWhere project : http://www.gwhere.org
    Debian Addict site : http://www.debianaddict.org

  11. #11
    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 Zero
    Merci pour les liens. WTP connait tous les attributs de <jsp:directive.page /> sauf isELIgnored ! :-/
    C'est peut-être parce que ton projet était en version 2.2. Cet attribut n'est apparut qu'en 2.4...

    a++

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 92
    Points : 84
    Points
    84
    Par défaut
    Citation Envoyé par adiGuba
    C'est peut-être parce que ton projet était en version 2.2. Cet attribut n'est apparut qu'en 2.4...
    Je ne sais pas. Mais je ne pense pas car WTP considère bien que c'est une application web en 2.4...

    A+
    Zero
    My site : http://blog.lecacheur.com
    GWhere project : http://www.gwhere.org
    Debian Addict site : http://www.debianaddict.org

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

Discussions similaires

  1. composants réutilisables dans des JSP
    Par clubist dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 15/03/2010, 15h48
  2. Integrer Flex dans des JSP
    Par mehdouch dans le forum Flex
    Réponses: 0
    Dernier message: 15/04/2009, 10h53
  3. Probleme d'appel des jsp(avec balise struts) par ajax
    Par edogawa dans le forum Struts 1
    Réponses: 1
    Dernier message: 23/08/2007, 23h14
  4. utilisation des sessions dans les jsp
    Par casho dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 16/08/2006, 19h45

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