dilluns, 29 de març del 2010

Facelets

Facelets és un framework que ens permet utilitzar plantilles en pàgines creades amb la tecnologia JSF.
Aquest framework ens atorga la possibilitat de crear una estructura de pàgina bàsica o plantilla que pot ser utilitzada per tantes pàgines com desitgem en el nostre lloc web. És a dir, tenim un template original i una o unes template clients que hereten la seva estructura i composició. El template original crea una estructura de pàgina i defineix unes seccions. El template client utilitza aquesta template original i pot reemplazar el contingut de les seccions.
Un exemple de plantilla bàsica seria el següent:



Aquesta plantilla està dividida en tres parts: una part superior o top, un contingut central o content i una part inferior o bottom. Veiem una nova etiqueta anomenada "ui:insert". Aquesta etiqueta forma part de la llibreria d'etiquetes de Facelets que ha de ser importada per a poguer-la utilitzar (veure la quarta línea del codi). Aquesta etiqueta "ui:insert" defineix les zones que podràn ser reemplaçades en les pàgines 'clients' que heretin aquesta plantilla. A continuació veurem un exemple d'una pàgina client d'aquesta plantilla:



En aquest codi, el de la pàgina client, veiem dues noves etiquetes o tags: "ui:composition" i "ui:define".
La primera, composition, indica quina és la plantilla de la qual heretem. La segona, define, indica les seccions de la plantilla principal que utilitzarem. Fixem-nos que l'etiqueta define utilitza el nom de la secció definit en la plantilla original. El nom de la propietat name ha de ser el mateix que el de la propietat insert de la plantilla. Si no és el mateix, el framework busca una etiqueta insert amb aquest nom, si no la troba, es visualitzarà el contingut definit per defecte en la plantilla original. És a dir, si el que volem és reemplazar el contingut d'una secció definida en la plantilla principal, hem de utilitzar l'etiqueta define amb el nom d'aquesta secció. Si no l'utilitzem, es mostrarà el contingut predefinit en la plantilla. Això és força útil per exemple si volem que una secció de la plantilla es repeteixi en totes les pàgines del lloc. Simplement omitiriem en les pàgines clients l'etiqueta define amb el nom d'aquesta secció.

En un pròxim post veurem com crear una plantilla utilitzant l'Ide de Netbeans.

Gràcies.

dimecres, 3 de març del 2010

Hola món en JavaServer Faces

Crearem una senzilla aplicació típica d'Hola món utilitzant la tecnologia JavaServer Faces o JSF. Per fer-ho utilitzaré l'ide NetBeans en la versió 6.8. Per descarregar aquest ide podeu fer clic aquí.

Un cop instal.lat l'ide l'executarem i farem un clic en Archivo i Proyecto Nuevo. De les categoríes que ens apareixen seleccionarem Java Web i en proyectos, a la part dreta, Web Application.
A continuació li donarem un nom al nostre projecte, per exemple, projecteweb1 i farem clic a siguiente.
En la configuració del servidor ho deixarem tot tal i com està; en el meu cas tinc com a servidor GlassFish en la versió 3 i Java EE Web en la versió 6. Farem un clic a siguiente. En l'últim pas hem d'escullir el framework que utilitzarem per a la creació de l'aplicació web. Marquem JavaServer Faces, deixem la configuració que ens dona per defecte  i fem un clic a terminar. Aquí teniu una captura de pantalla a mode d'exemple.


Ara ja som a la part on hem d'introduir codi per a dissenyar la interfície web. Simplement el que farem ara serà incloure una etiqueta h2 entre les etiquetes d'obertura i tancament del body.


Fixeu-vos en la línea 4. Aquesta línea ens permetrà la inclusió d'etiquetes comuns d'HTML en la nostra aplicació JSF, com per exemple les dues que ja tenim h:head i h:body. Per incloure etiquetes HTML només hem d'escriure h: precedit del signe més petit (<) i se'ns desplegarà una petita finestra amb tots els tags disponibles.
Ja podem fer clic al botó de Play sota la barra de menú en la part superior del ide i veure el resultat en el nostre navegador.