J'ai des problèmes, y compris un modèle de facelet. Je voulais diviser du contenu, pour pouvoir le réutiliser ailleurs.Problème d'utilisation include dans Facelets
Je changé ce code:
<!DOCTYPE html>
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
template="/layout/template.xhtml">
<ui:define name="head">
<title>Title</title>
</ui:define>
<ui:define name="header">
<h3>Header</h3>
</ui:define>
<ui:define name="content">
<table><tr><td>table</td></tr></table>
</ui:define>
</ui:composition>
à ceci:
<!DOCTYPE html>
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
template="/layout/template.xhtml">
<ui:define name="head">
<title>Title</title>
</ui:define>
<ui:include src="/admin/admin_generic.xhtml"/>
</ui:composition>
Et à l'intérieur admin-generic.xhtml
J'enveloppa le code dans une interface: composition.
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets">
<ui:define name="header">
<h3>Header</h3>
</ui:define>
<ui:define name="content">
<table><tr><td>table</td></tr></table>
</ui:define>
</ui:composition>
Mais rien n'est affiché. Je viens d'obtenir une page blanche, sans erreurs. Est-ce mal d'utiliser ui:composition
? J'ai essayé avec ui:component
mais cela n'a pas aidé non plus.
Mise à jour: Selon mon Facelets Guide Essentials, il est dit:
La balise
ui:include
peut être utilisé pour inclure un autre fichier Facelets dans votre document . Il inclut simplement le fichier source que vous spécifiez. Vous pouvez inclure un fichier Facelets qui aui:component
ouui:composition
balises (qui le contenu en dehors retaillent eux-mêmes) ou simplement un fragment de XHTML ou XML.
Est-ce que c'est ce qui se passe? Le contenu en dehors de l'inclusion est-il supprimé? Comment puis-je simplement inclure la page, sans que le contenu soit coupé?
Merci pour la clarification –
De rien. Dans le futur, essayez de minimiser le bruit non pertinent dans la question afin que les autres y répondent plus tôt :) – BalusC
Oui, bon conseil. Ça ira –