Dec 20, 2010 18:28
Dentro una facelet puo` esserci tutto l'html che si vuole senza problemi. Viene riconosciuto e opportunamente trattato. Non c'e` bisogno di inserire il tag f:view anche se non da' nessuna noia. Non serve usare il tag f:verbatim proprio perche` l'html va benissimo.
Per includere un frammento basta fare
e l'inclusione avverra` come ci aspettiamo, in perfetto stile jsp.
Il frammento incluso deve essere racchiuso fra i tag ui:composition cosi`
Buon giorno
tale frammento deve essere inserito in una altra facelet fatta esattamente come quella principale (stessa intestazione, html etc.) tenendo presente che tutto cio` che sta fuori dal tag ui:composition verra` ignorato (ma l'intestazione con la definizione del namespace serve anche se in effetti basta che ci sia anche solo un tag div con la dichiarazione del namespace).
La ui:include funziona come ci si aspetta, ma in realta` puo` fare di piu` di jsp. Mentre con jsp infatti l'inclusione viene fatta al momento di fare la compilazione (un po' come se fosse una macro) qui il frammento da includere puo` variare a run time: basta che l'attributo src sia collegato ad una stringa in un back bean. Non solo: si possono anche passare parametri al frammento incluso usando il tag ui:param (come tag figlio di ui:include). E` possibile fare
e poi usare il parametro
${parametro}
(usando indifferentemente # o $ a differenza di quanto accade con jsp in cui i due identificatori fanno differenza). Notare che l'EL puo` essere usato praticamente in qualsiasi punto.
icefaces,
jsp,
jsf