Ho problemi che includono un modello di facelet. Volevo suddividere il contenuto, in modo da poterlo riutilizzare da qualche altra parte.Problema che utilizza l'inclusione in Facelets
Così ho cambiato questo codice:
<!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>
A tal:
<!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>
E dentro admin-generic.xhtml
ho avvolto il codice in un ui: 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>
Ma non viene mostrato nulla. Ho solo una pagina vuota, senza errori. È sbagliato utilizzare ui:composition
? Ho provato con ui:component
ma non è stato d'aiuto.
Aggiornamento: Secondo il mio Facelets Guida Essentials, che dice:
Il tag
ui:include
può essere utilizzato per includere un file di Facelets nel documento . Include semplicemente qualsiasi file sorgente specificato. È possibile includere qualsiasi tipo di file Facelets che haui:component
oui:composition
tag (che tagliare il contenuto di fuori di se stessi) o semplicemente un frammento di XHTML o XML.
E 'quello che sta succedendo? Il contenuto al di fuori del contenuto è ritagliato? Come posso semplicemente includere la pagina, senza che il contenuto esterno venga ritagliato?
Grazie per il chiarimento –
Prego. In futuro cerca di minimizzare il rumore irrilevante nella domanda in modo che altri possano risponderti prima :) – BalusC
Sì, buon consiglio. Andrà bene –