JSP / Taglibs : vérificateur de syntaxe emmerdant

JSP / Taglibs : vérificateur de syntaxe emmerdant - Java - Programmation

Marsh Posté le 06-11-2005 à 15:55:59    

Salut à tous. bon, voila mon soucis du moment.
J'ai la page JSP suivante :  


<jsp:root version="1.2" xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:cms="urn:jsptld:cms-taglib"
    xmlns:cmsu="urn:jsptld:cms-util-taglib" xmlns:c="urn:jsptld:http://java.sun.com/jsp/jstl/core">
 
    <cms:ifNotEmpty nodeDataName="image">
        <cms:setNode var="imagedata" />
        <c:set var="imageurl">
            <cms:out nodeDataName="image" />
        </c:set>
        <img src="${pageContext.request.contextPath}${imageurl}" class="contentImage_${imagedata.imageFloat}" alt="${imagedata.imageAlt}" />
        <br />
    </cms:ifNotEmpty>
 
    <cms:ifNotEmpty nodeDataName="description">
        <span><cms:out nodeDataName="description" /></span>
    </cms:ifNotEmpty>
 
    <cms:ifNotEmpty nodeDataName="sound">
        <cms:setNode var="sounddata" />
        <c:set var="soundurl">
            <cms:out nodeDataName="sound" />
        </c:set>      
        <object type="application/x-shockwave-flash" data="${pageContext.request.contextPath}/docroot/marc/flash/dewplayer.swf?son=${pageContext.request.contextPath}${soundurl}&amp;autoplay=${sounddata.autoplay}" width="200" height="20" bgcolor="${sounddata.bgcolor}">  
  <param name="movie" value="${pageContext.request.contextPath}/docroot/marc/flash/dewplayer.swf?son=${pageContext.request.contextPath}${soundurl}&amp;autoplay=${sounddata.autoplay}" />  
  <param name="bgcolor" value="${sounddata.bgcolor}"/>
        </object>  
    </cms:ifNotEmpty>
 
</jsp:root>


 
- Première chose (pas grand chose) : dans l'url, valeure de l'attribut "data" de la balise "object", je suis obligé de remplacer & par &amp; ? C'est un peu lourd (quand je mettais simplement &, le compilateur JSP me disait qu'il manquait un ; à la fin de l'entité !
 
- Secondo (+ important) : en l'état, cette JSP ne passe pas le compilateur. Je me prend dans la gueule (ou plutôt dans le log), le message suivant :  


ERROR  info.magnolia.cms.taglibs.Include 06.11.2005 03:30:15 -- <h3>Message d'erreurs de validation provenant du TagLibraryValidator pour c</h3><p>15: Invalid use of "param" tag outside legitimate parent tag</p><p>16: Invalid use of "param" tag outside legitimate parent tag</p>


 
Selon vous, c'est un bug du TagLibraryValidator, ou une erreur de ma part ?
Dans les 2 cas, une solution serait vraiment la bienvenue.  
 
D'avance, merci.


Message édité par El_gringo le 06-11-2005 à 15:56:30
Reply

Marsh Posté le 06-11-2005 à 15:55:59   

Reply

Marsh Posté le 06-11-2005 à 16:08:27    

ta premiere erreur est un classique de la validation xml/xhtml, par contre, j'ai jamais vu un "compilateur" jsp me sortir ça. tu utilises quoi ?
 
 
pour la seconde, je pencherais pour une betise dans les tags de ton cms, mais bon ... :ange:
essaie de virer les <param> un à un pour voir ..


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 06-11-2005 à 16:22:33    

J'utilise Tomcat 5 comme moteur de servlets, mais je crois pas que ce soit lui qui râle. Attend, je vais chercher dans le log...
Ha ben si, c'est Tomcat (Jasper ça fait partie de Tomcat nan ?). Voila le message exact (qu'on soit d'accord, ça c'est dans la version ou j'ai & au lieu de &amp;) :


ERROR  info.magnolia.cms.taglibs.Include 06.11.2005 01:04:59 -- /templates/jsp/marc/paragraphs/imageSound.jsp(21,187) The reference to entity "autoplay" must end with the ';' delimiter.
org.apache.jasper.JasperException: /templates/jsp/marc/paragraphs/imageSound.jsp(21,187) The reference to entity "autoplay" must end with the ';' delimiter.


 
Sinon pour l'autre point : sans les <param>, je sais que ça passe. Le problème c'est que j'en ai besoin moi, de ces <param>. J'ai essayé de bidouiller avec des <jsp:text>, mais c'est immondément crade et le compilateur m'engueule aussi, pour cause de xml non valide (balises qui se chevauchent).

Reply

Marsh Posté le 06-11-2005 à 16:24:31    

1/ bizarre, j'ai jamais eu ça, mais c'est ptet parce que tu utilises la syntaxe xml pure (<jsp:root> )
 
2/ avec un seul des deux ça passe ou pas ?


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 06-11-2005 à 16:25:20    

(c'est pas plus crade que le reste de la page qui doit sortir 4 lignes d'html à tout casser, si je ne m'abuse. ..)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 06-11-2005 à 16:32:07    

1/ Peut être
 
2/ Avec un seul des deux ça passe pas mieux, non
 
(Et elle est pas crade cette page. Sortie du contexte, ça peut parraitre un peu lourd, mais c'est justement à cause d'une architecture rigoureuse suggérée par le CMS)

Reply

Marsh Posté le 06-11-2005 à 16:46:19    

mouais [:tartragnan] c'est lourd, .|
i supporte rien d'autre que jsp comme techno pour les vues, ton cms ?


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 06-11-2005 à 17:43:30    

Ben, en techno Java on peut utiliser quoi d'autre que des JSP pour du rendu HTML ? On peut aussi faire des servlets évidement, mais niveau lourdeur on va atteindre des sommets.

Reply

Marsh Posté le 06-11-2005 à 17:50:10    

houlà, faut sortir un peu, de temps en temps, hein, monsieur, sinon on prend la poussière.
velocity ça te dit rien ? [:mlc]
freemarker encore moins, j'imagine ... ?


Message édité par the real moins moins le 06-11-2005 à 17:50:25

---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 06-11-2005 à 18:06:00    

J'ai pas fait de dev depuis un bout de temps. Besoin de dépoussièrer justement.  
Je risque de me faire incendier mais : Velocity c'est pas un vieux machin, du genre "ancètre des JSP" ?
Freemarker, connais pas.
Cela dit, je doute que Magnolia supporte ces technos. JSP c'est pas si mal quand même !?

Reply

Marsh Posté le 06-11-2005 à 18:06:00   

Reply

Marsh Posté le 06-11-2005 à 18:11:51    

ça pue.


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 06-11-2005 à 19:23:38    

Et + explicitement, qu'est ce que tu reproches aux JSP ?

Reply

Marsh Posté le 06-11-2005 à 19:24:47    

y'a des milliards d'articles qui l'ont fait depuis des années et bien mieux que moi


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 06-11-2005 à 19:38:05    

ha...  
bon ben, merci alors.

Reply

Marsh Posté le 06-11-2005 à 20:10:46    

Cela dit, n'ayant pas toujours trouvé de solution, le problème reste ouvert !

Reply

Marsh Posté le 06-11-2005 à 20:42:03    

Reply

Marsh Posté le 06-11-2005 à 20:57:05    

génial, merci. Je vais essayer ça dès que je pourrais.
Et pour info : apparement l'équipe de Magnolia semble vouloir rester autant que possible dans le standard J2EE. C'est la raison pour laquelle ils en restent aux JSP. Cela dit, l'implémentation des JSF est planifiée.
 
EDIT : si tu n'est pas d'accord avec ce point de vue, merci de ne pas m'engueuler (le validateur de taglibs l'a déja assez fait !). Je ne fait que retranscrire ce que j'ai cru comprendre.


Message édité par El_gringo le 06-11-2005 à 21:00:25
Reply

Marsh Posté le 07-11-2005 à 08:40:16    

génial, en ajoutant le namespace XHTML au document, ça passe !  
Merci moins moins

Reply

Marsh Posté le 07-11-2005 à 12:31:01    

[:zoubi]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed