[JSP] [JSF] interactions entre les deux ?
Bonjour,
est-il possible dans une page JSP d'accéder aux managed-bean déclarés dans mon faces-config ?
Je souhaite insérer dans un TAG JSP une valeur renvoyée par une fonction d'un bean JSF.
Ce serait pour faire quelque chose du style :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| <f:view>
<table border="1" width="100%" height="100%">
<tr>
<td colspan="2"><%@ include file="header.jsp" %></td>
</tr>
<tr>
<td width="140" valign="top">
<%@ include file="menu.jsp" %>
</td>
<td valign="top" align="left">
<%@ include file="#{gestcomctrl.vueChange}" %>
</td>
</tr>
<tr>
<td colspan="2">
<%@ include file="footer.jsp" %>
</td>
</tr>
</table>
</f:view> |
Mais apparemment le #{gestcomctrl.vueChange} n'est pas compris ...
Merci d'avance pour votre aide.
[JSP] [JSF] Interprétation différente selon le browser
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 :
Code:
<jsp:include page="<%= curBody %>" />
et pas
Code:
<%@ 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 ... :cry:
- ça fonctionne mais dans Firefox uniquement; IE me renvoie systématiquement une erreur :
Code:
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 :
Code:
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 :
Code:
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 ...