Buenas Prácticas en el uso de JSF2

LIBP-0030 (Libro de pautas)

Considerar las siguientes indicaciones para el desarrollo basado en la especificación JSR-314 que da sentido a la implementación de la versión 2.0 de JSF

Pautas

TítuloCarácter
NavegaciónObligatoria
AnotacionesObligatoria
Creación y almacenamiento del beanObligatoria
Inicialización de propiedades del beanObligatoria
Uso de validadoresObligatoria
Estructura de directoriosRecomendada
Importación de libreríasObligatoria
SubvistasObligatoria

Hacer uso adecuado de la navegación implícita, condicional y preventiva

Se debe utilizar la navegación implícita, condicional o preventiva, ya permiten que no sea necesario declarar reglas de navegación y condicionar la misma, de otra manera el fichreo de configuración se vuelve poco manejable.

Anotaciones

Utilizar las anotaciones para declarar los managed beans en la especificación

Es necesario hacer uso de las anotaciones @ManagedBean y @RequestScoped. Ya que al especificar en una versión anterior de JSF, se produce una sobrecarga del fichero de configuración faces-config.xml.

Creación y almacenamiento del bean

Crear y almacenar el bean antes de que se curse la petición

Es necesario crear y almacenar el bean antes de que alguna petición sea cursada. En la anotación @ManagedBean existe un atributo "eager". Éste se puede utilizar para definir en que momento se crea un bean. Si está a "true" el ámbito es de aplicación y el bean debe crearse al arrancar la aplicación y no al referenciar la primera vez al bean.

Inicialización de propiedades del bean

Inicializar las propiedades del bean haciendo uso de la anotación @ManagedProperty

Para marcar una propiedad de los beans es necesario hacer uso de la anotación @ManagedProperty. Resulta interesante poder inicializar las propiedades de los beans. Un bean inicializado es aquel que cuando se crea pasa a los métodos set, las propiedades definidas por defecto.

Uso de validadores

Utilizar la especificación JSR Bean Validation (JSR-303)

Es necesario utilizar la especificación JSR Bean Validation (JSR-303) que define mecanismos independientes para especificar restricciones de datos de validación mediante la etiqueta <f:validateBean>. Estas validaciones se definen con anotaciones en el propio Bean.

Estructura de directorios

Seguir la estructura de directorios estándar para una aplicación JSF.

Se recomienda seguir la estructura de directorios estándar para una aplicación JSF. Ésta está compuesta por los directorios "src" para el código, "web" para las páginas y "WEB-INF", para los ficheros de configuración.

Importación de librerías

Usar lo prefijos correctos a la hora de importar librerías.

Se debe usar el prefijo “f” para hacer referencia a etiquetas del núcleo de la implementación mientras que el prefijo “h” para hacer referencia a etiquetas de componentes HTML

Subvistas

No emplear la etiqueta "f:subview" en lugar de la etiqueta "h:panelGroup".

Todas las páginas incluidas como subvistas deberían tener su propia etiqueta "f:subview" con un identificador único.

Contenidos relacionados

Recursos
Área: Desarrollo » Construcción de Aplicaciones por Capas » Capa de Presentación
Código Título Tipo Carácter
RECU-0131 JSF2 Referencia Recomendado
RECU-0130 Manual de JSF Manual Recomendado