JSF include dynamique

Tagged:

Alors ce que moi j'entends par include dynamique n'est pas forcément ce qu'on peut voir sur internet ... j'ai été attéré par le fait de voir que "include dynamique" c'était un truc complétement dément qui consistait a faire ... un include ... (a moins que je sois passé a coté et que j'ai mal compris bien sur ...)

Enfin je sais pas pour moi le include c'est le truc de base et le include dynamique c'est quand on choisis la page en fonction d'une variable ou quelque chose come ça ... donc je ne veux pas vous enduire d'erreur cherchez un peu sur le net si vous voulez les termes exacts ...

Mon but c'était de faire :

<html:panelGroup rendered="#{! empty app.views.dbAdminView.jspInclude}">
	<jsp:include page="#{app.views.dbAdminView.jspInclude}" />
</html:panelGroup>

Mais visiblement les EL ne sont pas interprétées dans le tag jsp ... fichtre, diantre, qu'a cela ne tienne, essayons ceci :

<%
mon.package.ApplicationController app = (mon.package.ApplicationController)session.getAttribute("app");
String jsp = app.getViews().getDbAdminView().getJspInclude();
if (jsp == null) {
	jsp = "../subviews/dbAdmin/infos.jsp";
}
%>

<jsp:include page="<%= jsp %>" />

Ca a l'air de marcher comme je voulais =) C'est moins propre mais JSF a oublié ce détail la du coup ... on bidouille... (enfin si quelqu'un a une autre solution je suis preneur !)

Comments

Ben bravo, ça ressemblr à du php maintenant :p

Ben si tu as déja fait du PHP un jour tu vois qu'en php c'est bien plus simple :

$include = 'unepage.php';
include($include);

et basta ... Mon problème c'est justement qu'on est très loin du php dans les deux cas :p

euh y a carrément plus simple...
juste en 1 ligne :

<jstl:import url="${sessionScope.mon_bean.mon_url}"/>

et ne parlez pas de php c sale :p

En mettant $ à la place de # sur la balise jsp:include, il me semble que sa marche et le bean est évalué même si je ne sais pas pourquoi.