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>
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