Translate

viernes, 26 de septiembre de 2014

2. Curso de Java Server Faces 2.0 (Managed Bean)




Managed Beans

Un Managed Bean es una clase java que sigue la nomenclatura de los Java Beans.
1.     Los Managed Beans no están obligados a extender de ninguna otra clase.
2.     Podemos definir a los Backing Beans como sigue:
1.     Beans de modelo: Representan el modelo en el patrón MVC.
2.     Beans de control: Representan el controlador en el patrón MVC.
3.     Beans de soporte o helpers: Contienen código por ejemplo de convertidores.
4.     Beans de utilería: Tareas genéricas, por ejemplo obtener el objeto request.

Una JavaBean es una clase Java que sigue las siguientes convenciones:
1.     Constructor vacío
2.     Atributos de clase privados
3.     Por cada atributo, se crean los métodos getters y setters
El Objetivo de los Managed Beans es controlar el estado de las páginas web.
JSF administra automáticamente los Managed Beans:
ü  Crea las instancias
o   Por ello la necesidad de un constructor vacío
ü  Controla su ciclo de vida
o   JSF determina el ámbito o alcance (request, session, application, etc) de cada Managed Bean
ü  Llama los métodos getters o setters
o   Por ejemplo: <h:inputText value="#{empleado.apellidoPaterno} al hacer submit llamará el método setApellidoPaterno( )
o   Otro ejemplo: #{empleado.nombre} indirectamente llamará al método getNombre( )


Podemos declarar los Managed Beans con anotaciones o a través del archivo Ffaces-config.xml

Declaración de un Managed Bean:

Con anotaciones antes del nombre de la clase:
   @ManagedBean

Como bean CDI(Context and Dependecy Inyection) antes del nombre de la clase:
   @Named
   Cuando se usa como vean CDI se agrega un archivo beans.xml en el directorio web/WEB-INF

En el archivo faces-config.xml
   <managed-bean>…   </managed-bean>

Ejemplo de un Managed Bean:


 



En la línea 6 y 7 vemos las anotaciones para declarar el JavaBean como un Managedbean y su alcance, en este caso es de tipo Request.
En la línea 12 vemos su método constructor por defecto.
A partir de la línea 15 vemos los métodos setter y getter de cada atributo de la clase.

Para mostrar el valor de los atributos de la clase dentro de la pagina JSF se usa Expresion Languaje (EL) de la siguiente forma:
Usuario = #{usuarioBean.user}
Password = #{usuarioBean.password}

Para agregar indirectamente un Bean dentro de otro se usa lo que se llama Inyección de dependencias
Esto por lo regular se usa en los Bean llamados “Backing Bean” que son los beans usados como controladores de la aplicación JSF.

La inyección de dependencias se puede realizar de 2 maneras:
Con anotaciones dentro del ManagedBean

En el archivo faces-config usando la siguiente etiqueta dentro de la declaración de un ManagedBean.
<manages-property>”#{beanInyectado}”</manages-property>

No hay comentarios.:

Publicar un comentario