3. JSF, JPA y Hibernate - Capitulo 02

13

Click here to load reader

Transcript of 3. JSF, JPA y Hibernate - Capitulo 02

Page 1: 3. JSF, JPA y Hibernate - Capitulo 02

División de Alta Tecnología

Flujos JSFFlujos JSF

Curso : Java EE

Page 2: 3. JSF, JPA y Hibernate - Capitulo 02

División de Alta Tecnología

Contenido del capitulo

TEMAS

1. Definición de Flujos JSF

2. Uso de Reglas de navegación

3. Reglas de navegación global

4. Manager Beans

5. Manejo de eventos con JSF

 

Page 3: 3. JSF, JPA y Hibernate - Capitulo 02

División de Alta Tecnología

Definición de flujos JSF

• JSF permite utilizar un mapa de navegación que define el flujo que tendrá las páginas de la aplicación.

• En este flujo, se define que página se mostrará cuando se pulse un botón de un formulario. 

• El mapa de navegación se define en el archivo de configuración, faces-config.xml. En ese mismo archivo se declarará los managed beans.

Page 4: 3. JSF, JPA y Hibernate - Capitulo 02

División de Alta Tecnología

Uso de Reglas de Navegación

• El mapa de navegación se define en el faces-config.xml y tiene la siguiente estructura

<navigation-rule> <from-view-id>/dataentry/enterdata.jsp</from-view-id> <navigation-case> <from-outcome>success</from-outcome> <to-view-id>/dataentry/success.jsp</to-view-id> </navigation-case> <navigation-case> <from-outcome>partialsuccess</from-outcome> <to-view-id>/dataentry/partialsuccess.jsp</to-view-id> </navigation-case> <navigation-case> <from-outcome>failure</from-outcome> <to-view-id>/dataentry/failure.jsp</to-view-id> </navigation-case></navigation-rule>

Page 5: 3. JSF, JPA y Hibernate - Capitulo 02

División de Alta Tecnología

Uso de Reglas de Navegación

• Cada entrada navigation-rule define los flujos que tendrá una página origen.

• La página origen se define en la entrada from-view-id) .

• Las páginas a las que se dirige la pagina de origen se encuentra definido en la entrada navigation-rule.

• Cada entrada navigation-rule indica la página de destino(to-view-id) y el nombre del flujo utilizado (from-outcome).

Page 6: 3. JSF, JPA y Hibernate - Capitulo 02

División de Alta Tecnología

Tipos de Reglas de Navegación

• La reglas de navegación pueden ser estáticas ó dinámicas.

• Estática:

Implica que un control (Ejem: Boton) esta asociado exclusivamente a un flujo.

• Dinámica:

Implica que durante la ejecución se puede elegir que flujo utilizará un control. Se realizar programáticamente desde los métodos del bean.

Page 7: 3. JSF, JPA y Hibernate - Capitulo 02

División de Alta Tecnología

Reglas de Navegación Global

• Generalmente los flujo definen una página de origen hacia varios destinos.

• Los flujos globales consideran varios orígenes hacía un destino.

• Son usados para evitar crear flujos hacia páginas que tienen mucha demanda en las aplicaciones. (Ejm: página de ayuda)

• Se utiliza el * para identificar a todas las páginas.

<from-view-id>*</from-view-id> <navigation-case> <from-outcome>ayuda</from-outcome> <to-view-id>/menu/ayuda.jsp</to-view-id> </navigation-case>

Page 8: 3. JSF, JPA y Hibernate - Capitulo 02

División de Alta Tecnología

Managed Beans

• Son beans gestionados por Java Server Faces

• Definen el modelo de la aplicación JSF.

• Permiten mantener el estado de la aplicación.

• Cuentan con los siguientes alcances(scope)

• application

• session

• request

• none

• No necesitan instanciarse.

• Son definidos en el faces-config.xml

Page 9: 3. JSF, JPA y Hibernate - Capitulo 02

División de Alta Tecnología

Managed Beans

<managed-bean>

<managed-bean-name>uNumber</managed-bean-name>

<managed-bean-class>gn.UNumber</managed-bean-class>

<managed-bean-scope>session</managed-bean-scope>

<managed-property>

<property-name>minimum</property-name>

<property-class>long</property-class>

<value>0</value>

</managed-property>

Acceso a la información: #{uNumber.minimum}.

Ejemplo de especificación de beans en el faces-config.xml

Page 10: 3. JSF, JPA y Hibernate - Capitulo 02

División de Alta Tecnología

Manejo de eventos con JSF

• El mecanismo de manejo de eventos IU JSF es muy similar al empleado en la clase de componentes Swing. los Listeners en JSF, por su parte, procesan los eventos emitidos por los componentes.

• Por ejemplo, observe el siguiente código:

<h:commandButton

value = "Click Me"

action="#{SomeBean.submitButtonClicked}"

/>

Puede observarse cada vez que se hace clic sobre el botón se hace una llamada al método Listener definido en la clase "SomeBean" cuyo nombre es "submitButtonClicked".

Page 11: 3. JSF, JPA y Hibernate - Capitulo 02

División de Alta Tecnología

Tipos de Eventos JSF

Java Server Faces gestiona tres tipos de Eventos.

• Eventos de Cambio de Valor

• Eventos de Acción

• Eventos de Fase

Page 12: 3. JSF, JPA y Hibernate - Capitulo 02

División de Alta Tecnología

Modelo de eventos: Ejemplo

// En la pagína.

<h:commandButton

action=“#{myBean.procesar}”

value=“OK”/>

// En la clase

class MyBean { …

String procesar() { … }

}

Page 13: 3. JSF, JPA y Hibernate - Capitulo 02

División de Alta Tecnología

Modelo de eventos: Ejemplo

Laboratorio 2