Ciò deve essere semplice. Sto cercando di passare l'elemento secondario in un componente JSF. Ho il mio componente dichiarata come:Includere l'elemento secondario all'interno del componente JSF 2.0
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:composite="http://java.sun.com/jsf/composite">
<composite:interface>
</composite:interface>
<composite:implementation>
<div style="border: 1px solid black;">
<ui:insert />
</div>
</composite:implementation>
</html>
allora io uso questo in una pagina: "Ciao mondo"
<box:box>
<p>Hello world!</p>
</box:box>
Purtroppo, la casella rende ok (il bordo nero), ma la il testo non è incluso al suo interno. Ho anche provato una sintassi più dettagliata usando <ui:insert name="content">
e chiamando da <ui:define name="content">Hello World!</ui:define>
ma non ha funzionato.
Dove posso fare un errore?
Sì, questo sarebbe un modo per farlo, ma è un design molto brutto. Inoltre, cosa succede se ho una sezione più lunga del codice XHTML/JSF che voglio usare come sottoelemento? Passare il contenuto come attributo di stringa è scomodo. Invece, lo stile che ho provato (usando ' ') dovrebbe funzionare, come spiegato in http://www.packtpub.com/article/creating-composition-components-in-jsf-2.0 (guarda il capitolo "Passare sotto- elementi per componenti di composizione "). Questo stesso approccio è trattato anche nelle API JSF 2 e JBoss Seam. Tuttavia, nei miei test fallisce. –