etiquetas_jsf
TRANSCRIPT
JavaServerFacesBeans Navegacin y Etiquetas bsicas
M.B.W.
Managed BeansEn el diseo de paginas Web es muy importante separar la presentacin y la lgica de negocio. JSF la realiza a travs de los Beans. Las paginas JSF se refieren a las propiedades del bean La lgica esta contenida en el cdigo de implementacin del bean.
Managed BeansBean es un componente reutilizable del software, que puede ser manipulado. Parecido a cualquier otro objeto, pero se manejan de una forma mas concreta. Cualquier objeto se crea y manipula llamando a constructores e invocando mtodos.
Managed BeansLos beans pueden ser utilizados sin programar, a travs de Frameworks o de Entorno de Desarrollo Integrados (IDE) a modo de introspeccin. Se utilizan para conectar clases Java con paginas Web o archivos de configuracin.
Managed BeansUn bean definido puede ser accedido a traves de etiquetas JSF. *Lee y actualiza el atributo password del bean usuario.
Managed BeansAtributos de un Bean: Nombre y Tipo Mtodos para obtener y establecer los valores de atributo.T getCampo1() : atributo de solo lectura Void setCampo1(T nuevoValor): escritura
Managed BeansExpresiones: Puede contener un valor inmediato Un valor directo obtenido del atributo de un bean
Managed BeansAgrupacin de Mensajes:Permite agrupar todos los mensajes en un mismo sitio
mediante ficheros de propiedades con la extension *.properties
Saludo=Bienvenido a JSF Pregunta=Escoja un numero, por favor Mensajes.properties
Managed BeansSe guardan con las clases *.java Cmo se usan?
Managed Beansmbito de un Bean: Peticin (request): Es el de vida mas corta, comienza con peticin HTTP y acaba cuando la respuesta se enva al usuario.
La etiqueta f:loadBundle hace que la variable bundle solo exista mientras dura la peticin.
Managed Beansmbito de tipo Sesin: El navegador y el servidor realizan peticin y respuesta sin conservar memoria de la transaccin. Recomendable para obtener informacin bsica, pero no por ejemplo: carrito de la compra. A travs del protocolo HTTP se realiza el seguimiento de una sesin. Ejemplo: las cookies
Managed Beansmbito de tipo aplicacin: Persiste durante toda la aplicacin web. Compartido entre todas las peticiones y sesiones.
Managed BeansPodemos anidar Beans para conseguir objetos mas complicados: examen examen sesion problemas ProblemasBean #{problema1}/> #{problema2}/> #{problema3}/>
Managed Beans problema1 ProblemasBean none sequence java.lang.Integer 1 2 3 Cuando el bean examen se referencia la primera vez, se generan automticamente la creacin de los otros beans . No tiene mbito porque no son demandados desde paginas JSP.
Compatibilidades de mbitos de BeansCuando defina un bean de mbito Puede usar otro mbito tipo
None
None
Application
None, Application
Session
None, Application, Session
Request
None, Application, Session, Request
Modelo de navegacinJSF permite especificar la navegacin entre pginas mediante reglas que indican qu eventos permiten pasar de una pgina a otra. El evento null dirige de nuevo a la ltima pgina. La especificacin de la navegacin en aplicaciones basadas en JSF se hace mediante el fichero de configuracin faces-config.xml en lugar de utilizar un servlet.
Navegacin esttica
La forma mas simple de realizar la navegacin, pulsar un botn redirige siempre a una misma pagina para dar respuesta.
Esta accin debe concordar con la etiqueta outcome del fichero faces-config-xml
Tipos de Navegacin /index.jsp login /hola.jsp>
Navegacin DinmicaDepende del botn pulsado y de los datos introducidos en el formulario. El sistema puede tener dos resultados: xito o fracaso. loginControlador- referencia a un bean el cual debe tener un mtodo llamado verificarUsuario.
Navegacin dinmicaString verificarUsuario() { If (.) return xito; else return fracaso; }
Navegacin dinmicaEl metodo devuelve un String xito o fracaso. El manejador de navegacin usa el String para buscar una regla de navegacin que coincida. exito /exito.jsp> fracaso /fracaso.jsp>
Navegacion AvanzadaRedireccin Etiqueta que permite ver al usuario la navegacin de la aplicacin web en la URL. Sin redireccin: la direccin original es la misma siempre. (localhost:8080/index.faces) Con redireccin: el navegador cambia la direccin. (localhost:8080/exito.faces)
Navegacion AvanzadaComodines: Se pueden usar comodines en las etiquetas from-view-id Ejemplo:
/aplicacin/*
Esta regla se aplicara a todas las paginas que empiecen con el prefijo aplicacin. Solo se permite un *, y debe estar al final de la cadena from-view-id.
Navegacion AvanzadaEtiqueta from-actionPermite dos mtodos de referencia de accin que devuelven la misma cadena. #{examen.accionRespuesta} repetir /repetir.jsp> #{examen.nuevoExamen} repetir /index.jsp>
Etiquetas y componentesHay dos tipos de etiquetas JSF: Las etiquetas de componentes grficas (HTML) y las etiquetas de carcter transversal (core). Core: Eventos, atributos, conversin de datos, validadores. Usan el prefijo f HTML: Construccion de formularios. Usan el prefijo h.
Etiquetas y componentesClases: Etiquetas, componentes y mostradores (renderers). Cada etiqueta de componente grfica da lugar a un objeto de la clase de componente correspondiente y un renderer, formando un rbol. Ejemplo: La etiqueta h:inputText genera una componente UIInput con un mostrador de texto.
Estructura general
rea de TextoLas entradas de Texto soporta las siguientes etiquetas: h:inputText h:inputSecret h:inputTextarea
rea de Texto
F:param value=Malaga/> Resultado: Manuel es estudiante de la Universidad de Malaga
Componentes grficas: Imagen
Botones y enlacesh:commandButton h:commandLink h:outputLink h:commandButton y h:commandLink : son componentes de comandos. *Disparan e invocan acciones asociadas a una regla de navegacin.
Botones y enlaces botonActivo:variable booleanApareceria Desabilitado
Botones y enlaces
registrar
Etiquetas de seleccin
H:selectBooleanCheckbox h:selectManyCheckbox h:selectOneRadio h:selectOneListbox h:selectManyListbox h:selectOneMenu h:selectManyMenu
Etiquetas de seleccin
H:selectBooleanCheckbox Es la etiqueta de seleccin mas simple, se asocia a un atributo booleano de un bean. Para un conjunto de checkbox se utiliza selectManyCheckbox
Etiquetas de seleccin
Todas las que comienzan con SelectOne: Permiten elegir un elemento de un conjunto. Las SelectMany- permiten la seleccin de mas de un elemento.
Etiquetas de seleccin O tambien
Recuadros de seleccin mltiple
Recuadros seleccionablesselectBooleanCheckbox: Representa un checkbox asociado a un atributo boolean de un bean. En el Bean tendriamos: Private boolean recibirInformacion; Public boolean getRecibirInformacion(){ Return recibirInformacion; } Public void setRecibirInformacion(boolean nuevoValor){ recibirInformacion = nuevoValor }
Componentes grficas: PanelesTabla con nmeros1 3 2
Pie de tabla
Paneles II
Uso de expresionesLos atributos de las componentes y otros objetos generados por JSF se evalan en el momento que les corresponde del ciclo de vida. Por ejemplo, los valores que se obtienen de la aplicacin, como los contenidos de las etiquetas, se evalan en la fase de incorporacin de datos de la aplicacin, tras procesar los parmetros de la solicitud.
Uso de expresiones IIPara controlar la evaluacin de los atributos, sus valores son normalmente expresiones de evaluacin retardada, #{}. Normalmente son expresiones que corresponden a values, es decir que su valor es una referencia asignable. Por ejemplo, no pueden ser el resultado de una operacin o una comparacin ni nmeros, pero pueden ser atributos de objetos colecciones.