etiquetas_jsf

Upload: jesus-marquez

Post on 17-Jul-2015

304 views

Category:

Documents


0 download

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.