Bonjour cher lecteur,
J'ai un petit soucis avec les facelets.
J'essaie d'écrire un template.xhtml :
ma page
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>
Enfin l'include :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>
Le rendu html est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 ui:insert de unAutreDefine n'est pas pris en compte.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3<body> <div>C'est moi l'include</div> </body>
Si par contre le define est fait dans la page,
il est bien pris en compte :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>
J'arrive à la conclusion que les ui:define ne peuvent pas être écrit dans un fichier qui est utilisé par un ui:include.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3<body> <div>C'est moi l'include</div> autre define de la page de test </body>
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 ?
Partager