Vous êtes sur la page 1sur 14

Java Server Faces

Universidad Autnoma del Estado de Mxico


M.C.C. Lzaro Alberto Rodrguez Paniagua

Modelo Vista Controlador en JSF


El patrn MVC (Modelo Vista Controlador), nos permite separar la
lgica de control (qu cosas hay que hacer pero no cmo), la lgica de
negocio (cmo se hacen las cosas) y la lgica de presentacin (cmo
interaccionar con el usuario).

Java Server Faces

Modelo Vista Controlador en JSF


Utilizando este tipo de patrn es posible conseguir ms calidad,
mantenimiento ms fcil, perder el miedo al folio en blanco (existe
patrn de partida por el que empezar un proyecto), etc. al margen
todo esto, una de las cosas ms importantes que permite el uso
este patrn consiste en normalizar y estandarizar el desarrollo
Software.

un
un
de
de
de

Java Server Faces

Modelo Vista Controlador en JSF


Adems, este modelo de arquitectura presenta otras importantes
ventajas:
Hay una clara separacin entre los componentes de un programa; lo
cual nos permite implementarlos por separado.
Hay una API muy bien definida; cualquiera que use la API, podr
reemplazar el modelo, la vista o el controlador, sin demasiada
dificultad.
La conexin entre el modelo y sus vistas (ya que puede haber varias)
es dinmica: se produce en tiempo de ejecucin, no en tiempo de
compilacin.

Java Server Faces

Modelo
Todas las aplicaciones software dejan a los usuarios manipular ciertos
datos que proceden de una realidad sobre la que se pretende actuar,
como supermercados, itinerarios de viaje, o cualquier dato requerido
en un dominio problemtico particular.
A estos datos en estado puro, que representan el estado de la realidad
se les llama modelo: modelan la parte de la realidad sobre la que se
desea actuar.

Java Server Faces

Modelo
El modelo, pues, es el objeto que representa y trabaja directamente
con los datos del programa: gestiona los datos y controla todas sus
transformaciones.
El modelo no tiene conocimiento especfico de los diferentes
controladores y/o vistas, ni siquiera contiene referencias a ellos. Es el
propio sistema el que tiene encomendada la responsabilidad de
mantener enlaces entre el modelo y sus vistas, y notificar a las vistas
cundo deben reflejar un cambio en el modelo.

Java Server Faces

Modelo
En nuestro ejemplo userLoginBean.java

Java Server Faces

Modelo
Este modelo a utilizar en la aplicacin se le comunica al sistema JSF
mediante el fichero faces-config.xml, donde se detalla la parte de
managed-bean, donde se aprecia un bean denominado
userLoginbean, que est recogido en la clase userLoginBean, y con
un mbito de sesin:

Java Server Faces

Vista
La vista es el objeto que maneja la presentacin visual de los datos
gestionados por el Modelo. Genera una representacin visual del
modelo y muestra los datos al usuario. Interacciona con el modelo a
travs de una referencia al propio modelo.
En el ejemplo bsico, la vista est manipulada a travs de las pginas
JSF, es decir, mediante las pginas index.jsp y hola.jsp. JSF conecta
la vista y el modelo. Como ya se ha visto, un componente de la vista
puede ligarse a un atributo de un bean del modelo, como:
<h:inputText value="#{usuario.nombre}"/>

Java Server Faces

Vista

donde se ve como se declara un campo de texto de entrada (inputText)


en la vista, ese campo de texto recoge su valor de entrada en el
atributo nombre de un bean denominado userLoginBean

De esta manera se establece el vnculo de enlace en vista y modelo.

Java Server Faces

Controlador
El controlador es el objeto que proporciona significado a las rdenes
del usuario, actuando sobre los datos representados por el modelo.
Entra en accin cuando se realiza alguna operacin, ya sea un cambio
en la informacin del modelo o una interaccin sobre la Vista. Se
comunica con el modelo y la vista a travs de una referencia al propio
modelo.
Adems, JSF opera como un gestor que reacciona ante los eventos
provocados por el usuario, procesa sus acciones y los valores de estos
eventos, y ejecuta cdigo para actualizar el modelo o la vista.

Java Server Faces

Controlador
Retomando el ejemplo bsico, una parte del controlador la recogen las
lneas de cdigo del fichero inicio.jsp que capturan los datos del
nombre de usuario, su contrasea, y el botn de Iniciar

Java Server Faces

Controlador
Por otro lado, est el control para las reglas de navegacin, contenido
en el fichero faces-config.xml, donde por ejemplo, se indica que
estando inicio.jsp, si ocurre una accin denominada login,
navegaremos a la pgina hola.jsp, esta accin comentada, es un
string que se declara en la vista como un atributo del botn de aceptar
que aparece en el formulario del ejemplo bsico. El fichero facesconfig sera el siguiente:
<navigation-rule>
<from-view-id>/index.jsp</from-view-id>
<navigation-case>
<from-outcome>login</from-outcome>
<to-view-id>/hola.jsp</to-view-id>
</navigation-case>
</navigation-rule>
Java Server Faces

Controlador
y la parte de la vista que establece la accin que activa la navegacin
es:
<h:commandButton value="Aceptar" action="login"/>

Java Server Faces

Vous aimerez peut-être aussi