
Title: Componentes gráficas:Recuadros seleccionables Body:
Title: Componentes gráficas: Tablas Body:
Title: Depuración Other Placeholder: JSF (con facelets) no crea un servlet por cada página Las páginas no se pueden depurar línea a línea (cada línea de código se transforma en instrucciones distribuidas en varios lugares del código Java) Los errores producidos en el contenedor se pueden utilizar para depurar igual que en las demás aplicaciones web
Title: Depuración, II Other Placeholder: El fichero web.xml incluye información acerca de la forma de ejecución. En la forma de desarrollo la aplicación muestra en el navegador información detallada acerca de los errores de compilación Se puede obtener información acerca del árbol de componentes web introduciendo en una componente la etiqueta ui:debug. La información se muestra con Ctrl-Shft-D
Title: Depuración, III Body: Hay herramientas que permiten seguir el ciclo de vida de la aplicación jsftutorials.net/faces-config/phaseTracker.html Phase Tracker muestra la información correspondiente a cada cambio de fase en el ciclo de vida Phase Tracker utiliza un listener de eventos de la evolución del ciclo de vida
Title: Funcionalidad de etiquetas transversales Body: Acciones para la manipulación de eventos Conversión de datos Validación de datos Internacionalización
Title: Modelo de conversión de datos Body: La estructura de datos utilizada en la presentación no es la misma que se utiliza en la representación de datos por el servidor. Ejemplo: Una fecha se puede mostrar mediante tres cadenas de caracteres. JSF proporciona conversores estándar. Se pueden definir más conversores.
Title: Modelo de validación Body: JSF permite definir restricciones sobre los valores de determinados datos introducidos por los usuarios. JSF proporciona validadores estándar. Se pueden definir más validadores.
Title: Ejemplos de validadores Body:
Title: Modelo de eventos Body: Las acciones del usuario generan eventos, que son objetos de una clase JSF. Los eventos de acción, como los botones y los enlaces, dan lugar a una petición al servidor y pueden activar acciones en él. Los eventos de cambio de valor, como la selección de items en una lista y la activación de un check box, además de poder generar la evaluación de métodos JS en el cliente, pueden activar acciones específicas en el servidor, como el acceso a una base de datos.
Title: Modelo de eventos: Ejemplo Body: class Bean { … String method() { … } } Los objetos registrados para recibir eventos reciben el valor que devuelve method()
Title: Recordatorio: Ciclo de vida (Gp:) 123
(Gp:) abc
6 HTML 1 Crear 2 Pasar 3 Validar y eventos c.v. 4 Incorporar 5 Eventos Aplicación
Title: Modelo de eventos: Priorización Body: Las acciones desencadenadas en el servidor por los eventos de acción se ejecutan inmediatamente antes de generar la respuesta. Las acciones desencadenadas en el servidor por los eventos de cambio de valor se ejecutan en la fase de validación.
Title: Modelo de eventos: Priorización, II Body: A veces se desea que las acciones asociadas a eventos de acción modifiquen datos necesarios en fases previas, como la incorporación de datos de la aplicación (por ejemplo, si un dato generado por el usuario se utiliza en la presentación inmediata). A veces se desea priorizar la ejecución de las acciones asociadas a eventos de cambio de valor (por ejemplo, si modifican datos necesarios en otra acción del mismo tipo).
Title: Modelo de eventos: Priorización, III Body: Si una componente gráfica tiene su atributo immediate con valor true, las acciones desencadenadas en el servidor por los eventos de acción y cambio de valor se ejecutan al final de la fase de aplicación de parámetros de la petición, resolviendo los problemas anteriores.
Title: Modelo de navegación Body: JSF permite especificar la navegación entre páginas mediante reglas que indican qué eventos permiten pasar de una página a otra. El evento null dirige de nuevo a la última página. La especificación de la navegación en aplicaciones basadas en JSF se hace mediante el fichero de configuración faces-config.xml en lugar de utilizar un servlet.
Title: Modelo de navegación:Formato de las reglas Body: /init.jsp
event /end.jsp
Title: Inclusión de mensajes(parte del texto de la página) Body: Fichero src/articles/ArticleMsgs.properties: … ServerError=Request not completed ClientError=Form not filled …
Title: Inclusión de mensajes:Carga selectiva Body: Fichero Articles.jsp:
…
Title: Inclusión de mensajes:Carga global Body: Fichero faces-config.xml:
articles.ArticleMsgs
artmsg
Fichero Articles.jsp:
Title: Parametrización de mensajes Body: Fichero de propiedades: … Selección=El socio {0} ha sido seleccionado … Fichero Socios.jsp:
Permite cambiar el orden de las palabras en distintos idiomas.
Title: Componentes gráficas: Adaptación de mensajes de errores del usuario Body:
Title: Internacionalización Body: Forma idiomática (locale): Especifica un idioma, país y variante del idioma Ejemplo: Inglés de Estados Unidos Español de España, variante andaluza Francés Se especifica mediante una cadena de la forma XXX_YYY_ZZZ Ejemplo: en_US Normalmente, el país se pone con mayúsculas
Title: Internacionalización, II Body: Ficheros de propiedades: ArticleMessages.properties ArticleMessages_en_UK.properties ArticleMessages_en_US.properties ArticleMessages_es_ES.properties ArticleMessages_es_MX.properties Alternativa: ArticleMessages_en.properties ArticleMessages_es.properties
Title: Internacionalización, III Body: Cada navegador en cada PC tiene una preferencia idiomática establecida. Cada aplicación web puede tener una preferencia idiomática propia. En general, las componentes gráficas pueden establecer un locale específico.
Title: Internacionalización, IV Body: Preferencia idiomática de una aplicación JSF: Fichero faces-config.xml es_ES es_MX
en_UK
Title: Internacionalización, V Body: Internacionalización de aplicaciones web generales: Exige programación en Java Utilizar la clase PropertyResourceBundle, construyendo instancias a partir de un locale y los ficheros de propiedades. Construir los mensajes que aparecen en las páginas a partir de los propertyResourceBundles consruidos.
Title: Facelets: Plantillas Other Placeholder: Una plantilla es un documento de Facelets que tiene partes pendientes de rellenar. Las partes pendientes de rellenar pueden tener un contenido por defecto, que se sustituye por otro contenido cuando se instancia la plantilla. Por ejemplo, la tabla de la transparencia siguiente puede ser una plantilla.
Title: Visualización de plantillasin instanciar
Title: Codificación de la plantilla(fichero plantilla.xhtml) Other Placeholder:
UAM | Escuela Politénica Superior> |
Aquí su menú … | Aquí su texto, que puede ser tan largo y aburrido como … |
Página siguiente |