Contenidos I Sesión 2
Arquitectura RichFaces Filters, Listeners, Servlets, ViewHandler Partial Rendering / reRendering Manage beans Ajax Validators Skinnability Handling Resources Caso: Registro de usuario
Arquitectura RichFaces
Arquitectura RichFaces
Ajax Filter Registrar el Filter en el web.xml Reconoce multiples tipos de request Diagrama de secuencia muestra el procesamiento de
un request JSF y un Request Ajax Los recursos estáticos o dinámicos son registrados
por el Resource builder en el ResourceCache
Arquitectura RichFaces
Arquitectura RichFaces
Arquitectura RichFaces
Ajax Action Components.- Los componentes de solicitud de acción son : <a4j:commandButton> ,<a4j:commandLink> , <a4j:poll> y <a4j:support>.
Ajax Containers.- AjaxContainer es una interface que define un area en el JSF. <a4j:region> es una implementacion de esta interface.
JavaScript Engine.- corre en el lado del cliente, actualiza las areas del JSF basada en la informacion del Ajax response.
Arquitectura RichFaces
Arquitectura RichFaces
Configuracion de Filter. Ejemplo de como definir el filtro en el web.xml estandar
Arquitectura RichFaces
Configuracion de Filter. Ejemplo de como definir el filtro en el web.xml seam
Arquitectura RichFaces
ListenersDefinimos listener en el web.xmlEjemplo de definición de listener estandar
Arquitectura RichFaces
ListenersEjemplo de definición de listener seam
Arquitectura RichFaces
ServletSe define en web.xmlEjemplo de definición de servlet estandar
Arquitectura RichFaces
ServletEjemplo de definición de servlet seam
Arquitectura RichFaces
View handlerSe define en faces-config.xml
Partial Rendering
RichFaces provee rederizado parcial al framework JSF con capacidades Ajax.
Minimiza la carga del servidor. Ejemplo de renderizado parcial sobre <rich:tabPanel>
Re-Rerendering
Componentes que permiten Re-Rendering <a4j:support>, <a4j:commandButton>, <a4j:jsFunction>, <a4j:poll>, <a4j:push>
reRenderer es un atributo, permite indicar áreas de la pagina que serán actualizadas
Interacciones Ajax Response reRenderer usa algoritmos de busqueda sobre el arbol
de componentes http://java.sun.com/javaee/javaserverfaces/1.2_MR1/docs/api/javax/faces/component/UIComponent.html#findComponent(java.lang.String)
Re-Rerendering
Manage Bean Modelo (.java) asociado a los componentes de la
interfaz de usuario.
Manage Bean El Managed Bean debe ser declarado en faces-
config.xml
Manage Bean Practica 15 minutos
Ajax Validators
RichFaces posee 2 componentes para validar la data de ingreso. <rich:ajaxValidator> <rich:beanValidator>
Provee capacidades de validación sobre Inputs JSF Permite validación predefinida y validación
personalizada Validación basada sobre eventos.
<rich:ajaxValidator> Validación en el lado del Cliente Validaciones simples en base a etiquetas
<f:validateDoubleRange/> <f:validateLength/>
<rich:ajaxValidator>
Practica 10 minutos
<rich:ajaxValidator>
Validaciones personalizadas usando Hibernate Referencia en
http://www.hibernate.org/hib_docs/validator/reference/en/html_single/
<rich:ajaxValidator>
Librerías requeridas, hibernate-annotations.jar, hibernate-commons-annotations.jar, hibernate-core.jar, hibernate-validator.jarlog4j.jar, slf4j-api.jar, slf4j-log4j12-1.5.8.jar
<rich:ajaxValidator>
Practica 20 minutos
<rich:beanValidator>
Validaciones personalizadas usando Hibernate Validación en el lado del servidor
Skinnability
Configura el Skin dentro de web.xml Alto nivel de extencion para CSS No reemplaza el uso de CSS Skins out-of-the-box classic, plain, default, blueSky,
ruby, darkX* Dentro de richfaces-impl-xxx.jar dentro de /META-INF/skins
folder
Skinnability
Skinnability
Cambiando Skins en tiempo de ejecución
Skinnability Creando Skin personalizado
Crear el archivo <name>.skin.propertiesColocar en META-INF/skins y WEB-INF/classesRegsitrar skin en web.xml
Skinnability
Creando Skin personalizado en base A Crear el archivo ruby16.skin.properties en base a
ruby Colocar en META-INF/skins y WEB-INF/classes Regsitrar skin en web.xml
Skinnability Practica 20 minutos
Handling Resources
Carga recursos (.properties), hojas de estilos (.css), javaScript (.js), imagenes etc.
Componente <a4j:loadBundle> Se registra en faces-config.xml
Handling Resources
Manage Bean que define la localidad del contexto Registrar el Manage Bean en faces-config.xml
Handling Resources
Practica 15 minutos
Caso: Registro de usuario Practica 30 minutos
¡ Gracias !
Top Related