divendres, 2 de juliol del 2010

Facelets i JSF 2.0 - Creació d'un formulari - Part V JavaBeans

Bé, ja sabem què és un JavaBean (o managed bean). Sabem que és un objecte Java que conté unes propietats o atributs i uns métodes. Sabem que podem enllaçar aquests atributs amb cadascun dels camps del formulari en la pàgina web. També sabem que el managed bean pot ser creat en quatre diferents àmbits dins l'aplicació en funció de la necessitat que tinguem de mantenir les dades introduïdes en els camps del formulari.
Hem vist la teoria, anem ara a veure la pràctica. Obrim el nostre projecte.
  1. Per crear un JavaBean o JSF ManagedBean  farem un clic amb el botó secundari del ratolí sobre el nom del projecte (esfera blava) i seleccionarem Nuevo. Escullim JSF Managed Bean.
  2. El següent quadre de diàleg ens demana el nom i la ubicació de la classe Bean. Introduirem un nom (per exemple, formBean) i l'ubicarem dins d'un paquet (és altament recomanable ubicar tots els arxius o classes de l'aplicació en diferents paquets segons la seva funció) que li direm web.beans.
  3. En la part inferior del quadre de diàleg podem configurar un nom pel bean per referir-nos a ell des del codi de la plana web. Podem utilitzar el mateix nom que hem definit en el pas anterior o posar-ne un altre. Per veure la diferència li donarem el nom de bean.
  4. A continuació del quadre de text del nom tenim l'àmbit o Scope del bean. Per aquest exemple escullirem de la llista desplegable l'opció Request.
  5. Fem clic a Terminar.
  6. S'ha creat la classe formBean de tipus managed bean ubicada dins el paquet web.beans i dins la carpeta Sources Packages del nostre projecteS'obre la pestanya de la classe bean que acabem de crear. Fixem-nos en el codi : tenim un constructor sense paràmetres, un parell d'imports de llibreries, i el que s'anomena annotations, dues línees de codi precedides pel símbol @. En versions anteriors de JSF (versió 1.2) calia definir els beans en un arxiu de configuració anomenat faces-config.xml. En la versió 2.0 això ja no és necessari ja que s'utilitzen les anotacions. La primera anotació, @ManagedBean(name="bean") és la que defineix la classe java com a un objecte JavaBean i li atorga un nom (el que hem definit en el pas 3). L'altre anotació defineix l'àmbit d'actuació del bean, @RequestScoped. Si vulguessim canviar-lo per un àmbit de sessió, només hauriem de borrar aquesta línea i escriure @SessionScoped.
  7. Bé, ara hem de crear els atributs del bean. En el nostre formulari tenim un camp nom, cognoms, telèfon, sexe i país. Tots aquests camps emmagatzemaran valors de tipus alfanúmeric (fins i tot el camp telèfon), per tant els atributs del bean han de ser de tipus string.
  8. És molt senzill crear els atributs del bean. Escriurem just a sota del constructor: private String nom;  àmbit de l'atribut, tipus i nom. Farem el mateix per la resta de camps.
  9. Un cop tinguem definits tots els atributs, cal escriure els seus métodes accesors (get i set). Per fer-ho apretem la tecla Alt + Insert i cliquem a l'opció Getter y Setter. Seleccionem els atributs i fem clic a Generar. Això ens crea automàticament tots els métodes get i set per a cada atribut. Recordem que per poder llegir i modificar els valors del camps del formulari en el bean és imprescindible que s'hagin definit aquests métodes.
  10. Ja gairebé tenim el bean acabat. Ara cal enllaçar els camps del formulari amb els atributs del JavaBean. Per fer-ho necessitem conèixer el llenguatge JSF EL (Expression Language). Aprendem una mica d'aquest llenguatge en una propera entrada. Per avui deixem-ho aquí.
Gràcies.