Alors d'abord merci à vous deux d'avoir bien voulu m'aider.
J'ai essayé la solution de shivan et elle fonctionne à condition d'utiliser :
<jsp:include page="<%= curBody %>" />
et pas
<%@ include file="..." %>
En ce qui concerne les facelets, étant un peu pris par le temps je les ai juste survolés mais je pense effectivement que c'est une solution possible.
Par contre ... 
- ça fonctionne mais dans Firefox uniquement; IE me renvoie systématiquement une erreur :
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
| exception
org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:322)
com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:130)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)
cause mère
java.lang.NullPointerException
org.apache.jasper.runtime.JspRuntimeLibrary.getContextRelativePath(JspRuntimeLibrary.java:908)
org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:963)
org.apache.jsp.gcom_jsp._jspService(gcom_jsp.java:97)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:322)
com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:130)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:198) |
- et dans firefox je perd toute la mise en forme html contenue dans mes include ! Si j'ai :
1 2 3 4 5 6 7 8 9 10
|
<h:form>
<h:commandLink action="procom">
<h:outputText value="Projets" styleClass="h1"/>
</h:commandLink>
<p>
<h:commandLink action="respcom">
<h:outputText value="Responsables" styleClass="h1"/>
</h:commandLink>
</h:form> |
je récupère :
1 2 3 4 5 6 7
| <form id="_id0"...>
<a href="#" onclick=...><span class="h1">Projets</span></a>
<a href="#" onclick=...><span class="h1">Responsables</span></a>
<input type="hidden" name="_id0" value="_id0" />
<input type="hidden" name="_id0:_idcl" />
</form>
<p> |
et mes deux liens se retrouvent collés sur la même ligne !
C'est pour le moins perturbant et ça le fait dans le body
comme dans tout le reste (header,...). <f:verbatim> résoud le problème mais ça voudrait dire qu'il me faudra en mettre partout dans mes pages !
Qui est-ce qui parlait d'autres surprises ...
Partager