divendres, 11 de juny del 2010

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

En l'anterior entrada vam fer el disseny del formulari, afegint camps com ara el nom, cognoms, sexe o país.
Vam veure els 'tags' que representaven caixes de text, radiobuttons, labels, llistes desplegables i botons.
Ara bé, el formulari no és funcional. Perque ho sigui cal desenvolupar la part lógica de l'aplicació. Cal escriure el codi necessari per rebre les dades introduïdes per l'usuari i poder tractar-les. Per fer això necessitem conèixer un nou concepte: l'objecte JavaBean, conegut com a managed bean en JSF,  és un POJO (Plain Old Java Object) és a dir, un objecte simple de java, amb les seves propietats o atributs, métodes i esdeveniments. L'objecte bean ha d'obeïr certes condicions, és a dir, ha de seguir unes convencions de creació i configuració:
  • Ha de tenir un constructor sense arguments.
  • Les seves propietats  han de ser accessibles a través dels métodes get i set per poder manipular-les.
  • Ha de ser serialitzable.
Un JavaBean té la següent estructura:
  • Propietats. Els atributs que conté i que s'enllaçaran amb els camps de la plana web.
  • Métodes. Accessibles a través dels métodes get i set per a modificar, establir o eliminar valors ens els atributs.
  • Esdeveniments. Respondran a crides o esdeveniments sol.licitats per components de la plana web o altres beans en l'aplicació.
Un managed bean pot situar-se en diferents àmbits dins l'aplicació en funció de la necessitat que tinguem de mantenir els valors dels seus atributs o propietats. Aquests àmbits són:
  • Request. Els valors només es mantenen en una petició o sol.licitud HTTP. Per exemple, en un login.
  • Session. Els valors es mantenen al llarg de la sessió d'un usuari. Per exemple la típica aplicació d'un cistell de la compra.
  • Application. Els valors del bean es mantenen durant tot el temps de vida de l'aplicació i estàn disponibles per tots els usuaris.
  • View. Els valors del bean es mantenen mentre l'usuari estigui en la mateixa vista o plana web.
Resumint, un JavaBean és un objecte simple de Java que té uns atributs  que poden ser modificats i uns métodes que realitzaran diverses funcions dins el propi objecte (resposta a esdeveniments provocats per components de la plana web, modificació d'atributs del bean, etc). Un JavaBean també es pot configurar en un àmbit d'acció concret en funció de la necessitat que tinguem de mantenir els valors dels seus atributs. Els atributs del JavaBean seràn enllaçats als camps del formulari de la plana web.
    En una propera entrada veurem con crear un JavaBean (managed bean) que utilitzarem en la nostra aplicació.

    Gràcies.