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

Frameworks Web Java Discussion :

[Struts 1.2] Erreur à la compilation d'une JSP


Sujet :

Frameworks Web Java

  1. #1
    Membre éprouvé Avatar de Jidefix
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    742
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 742
    Points : 1 154
    Points
    1 154
    Par défaut [Struts 1.2] Erreur à la compilation d'une JSP
    Bonjour,
    je dois migrer une application web de JBoss 4 vers JBoss 6, et je rencontre pas mal de problèmes avec une application Struts.
    Le dernier problème en date est sur cette page jsp:
    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
     
    <%@ page language="java" %>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%> 
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
    <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
     
    <table>
      <tr>  		 
    	 <TD>			
    		<html:link action="/navigation" paramId="method" paramName="exitMethod">
    			test			
    		</html:link>
    	</TD>
      </TR>
    </table>
    Lors de l'accès à cette page, je récupère la magnifique exception suivante:
    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
     
    2010-10-19 16:43:07,373 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/MonAppli].[jsp]] (http-127.0.0.1-8080-1) "Servlet.service()" pour la servlet jsp a lancé une exception: java.lang.NullPointerException
    	at org.apache.jasper.compiler.Parser.parseBody(Parser.java:1590)
    	at org.apache.jasper.compiler.Parser.parseOptionalBody(Parser.java:972)
    	at org.apache.jasper.compiler.Parser.parseCustomTag(Parser.java:1243)
    	at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1417)
    	at org.apache.jasper.compiler.Parser.parse(Parser.java:130)
    	at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:255)
    	at org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)
    	at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:181)
    	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:343)
     
    ...etc...
     
    2010-10-19 16:43:07,373 ERROR [org.apache.struts.taglib.tiles.InsertTag] (http-127.0.0.1-8080-1) ServletException in '/jsp/pages/Menu/navigation.jsp': null: org.apache.jasper.JasperException: Impossible de compiler la classe pour la JSP
    	at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:613)
    	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:312)
    	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:326)
    	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:253)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
     
    ...etc...
     
    2010-10-19 16:43:07,389 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/MonAppli].[jsp]] (http-127.0.0.1-8080-1) "Servlet.service()" pour la servlet jsp a lancé une exception: javax.servlet.jsp.JspException: ServletException in '/jsp/pages/Menu/navigation.jsp': null
    	at org.apache.struts.taglib.tiles.InsertTag$InsertHandler.doEndTag(InsertTag.java:923)
    	at org.apache.struts.taglib.tiles.InsertTag.doEndTag(InsertTag.java:462)
    	at org.apache.jsp.jsp.pages.layout.Layout_jsp._jspx_meth_tiles_005finsert_005f1(Layout_jsp.java:635)
    	at org.apache.jsp.jsp.pages.layout.Layout_jsp._jspService(Layout_jsp.java:367)
    	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
    d'où je déduis que quelque part mon tag <html:link> a mal tourné

    Je ne sais pas trop si ça a du sens mais si je retire le body du tag et que je ferme directement la balise <html:link /> le lien ne s'affiche pas mais au moins ça compile.

    Est-ce que quelqu'un a déjà vu ça? J'ai recherché sur Google mais le message d'erreur est tellement vague que je tombe un peu sur n'importe quoi...


    edit: je précise que la variable exitMethod est bien présente, car si je met un <bean:write name="exitMethod"/> (et que je retire le html:link qui ne compile pas, forcément), il affiche bien sa valeur
    Veuillez agréer nos sentiments les plus distingués. Soyez assurés de notre entière collaboration, bien à vous pour toujours et à jamais dans l'unique but de servir l'espérance de votre satisfaction, dis bonjour à ton père et à ta mère, bonne pétanque, mets ton écharpe fais froid dehors.

  2. #2
    Membre éprouvé Avatar de Jidefix
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    742
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 742
    Points : 1 154
    Points
    1 154
    Par défaut
    J'ai trouvé!
    Le problème est encore une fois une différence de comportement entre JBoss 4 et JBoss 6 (du moins le comportement du compilateur JSP):
    Dans Struts 1.2, certains tags ne sont pas complètement renseignés, comme par exemple le tag "html:link" ou "html:submit".

    En effet la balise "bodycontent", qui n'est pas censée être obligatoire n'y est pas présente. Or ce tag est censé contenir un body. JBoss 4 gérait bien l'affaire mais JBoss 6 se plante lamentablement dans cette situation (je dis bien lamentablement parce que le message d'erreur ne donne aucune information sur la cause)

    Donc la solution consiste à rajouter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <bodycontent>JSP</bodycontent>
    juste avant la déclaration des "attributes" des tags, dans les fichiers tld de Struts.


    Ca fait plusieurs jours que j'écume internet à la recherche d'une solution, quand j'ai trouvé ça je crois que j'ai failli pleurer
    Veuillez agréer nos sentiments les plus distingués. Soyez assurés de notre entière collaboration, bien à vous pour toujours et à jamais dans l'unique but de servir l'espérance de votre satisfaction, dis bonjour à ton père et à ta mère, bonne pétanque, mets ton écharpe fais froid dehors.

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

Discussions similaires

  1. [Compiler] Erreur dans compilation avec une toolbox independante
    Par ImagingAllthe dans le forum MATLAB
    Réponses: 4
    Dernier message: 25/03/2008, 16h42
  2. erreur de compilation d'une servlet sous unix
    Par schrodinger dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 07/11/2007, 19h57
  3. erreur de compilation d'une fonction
    Par Jeff_p dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 31/07/2007, 20h06
  4. Erreur de compilation d'une JSP
    Par casho dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 17/10/2006, 14h50
  5. Erreur de compilation sur une librairie en mode debug
    Par bakaneko dans le forum C++Builder
    Réponses: 2
    Dernier message: 18/05/2006, 16h32

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