JSF & facelets pb ui:define dans des ui:include
Bonjour cher lecteur,
J'ai un petit soucis avec les facelets.
J'essaie d'écrire un template.xhtml :
Code:
1 2 3 4 5 6 7
| <html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets">
<body>
<ui:include src="unInclude" />
<ui:insert name="unAutreDefine"/>
</body>
</html> |
ma page
Code:
1 2 3 4
| <ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
template="template.xhtml">
</ui:composition> |
Enfin l'include :
Code:
1 2 3 4 5
| <ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets">
<div>C'est moi l'include</div>
<ui:define name="unAutreDefine">un autre define</ui:define>
</ui:composition> |
Le rendu html est :
Code:
1 2 3
| <body>
<div>C'est moi l'include</div>
</body> |
Le ui:insert de unAutreDefine n'est pas pris en compte.
Si par contre le define est fait dans la page,
Code:
1 2 3 4 5
| <ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
template="template.xhtml">
<ui:define name="unAutreDefine"> autre define de la page de test</ui:define>
</ui:composition> |
il est bien pris en compte :
Code:
1 2 3
| <body>
<div>C'est moi l'include</div> autre define de la page de test
</body> |
J'arrive à la conclusion que les ui:define ne peuvent pas être écrit dans un fichier qui est utilisé par un ui:include.
Am I right ?
Ca limite l'usage des ui:include a du html strito sensus ... encaspsulé quand même dans du ui:composition pour le rendre xml.
Pourquoi cette limitation ?