Upload
xitofu
View
219
Download
0
Embed Size (px)
Citation preview
8/14/2019 JEE CustomTag I
1/23
Ing. Luis Garca [email protected]
JEEJEE
mailto:[email protected]:[email protected]8/14/2019 JEE CustomTag I
2/23
8/14/2019 JEE CustomTag I
3/23
TagLibs
Introduccin
TagLibs
Ventajas
Constantes y mtodos de los Tags
Tag Library Descriptor
8/14/2019 JEE CustomTag I
4/23
Introduccin
Separacin de roles: Presentacin.
Expande la funcionalidad de las JSP.
Con las JSP an se escribe cdigo mezcladocon el HTML. Existen pginas en las cuales elcdigo java, es excesivo para la
presentacin, y hacen difcil sumantenimiento.
Solucin: Etiquetas que encapsulen lafuncionalidad.
8/14/2019 JEE CustomTag I
5/23
Qu es un TagLib?
Es un conjunto de etiquetas que encapsulancierta funcionalidad. Generalmente estafuncionalidad es de presentacin, perotambin puede ser de lgica de negocio.
Un taglib define una librera de etiquetas. Esas como uno mismo puede desarrollar suspropias etiquetas personales.
El uso de etiquetas se ha convertido en unstandard y muchas herramientas actualesestn orientadas a su uso.
8/14/2019 JEE CustomTag I
6/23
Laboratorio Programacin II
Partes de una Etiqueta
Se ejecutan al llamar a un JSP, donde hayan sido declarados.
Tipos de Declaracin:
Una sola instruccin
Instruccin de abrir y cerrar
Presenta Contenido
Body content
8/14/2019 JEE CustomTag I
7/23
Nombre (donde logo es el nombre
de la etiqueta)
Atributos
Contenido (body)
Este es el contenido de la etiqueta logo.
Partes de una Etiqueta
8/14/2019 JEE CustomTag I
8/23Laboratorio Programacin II
Partes de una Etiqueta
Ejemplo de Uso:
8/14/2019 JEE CustomTag I
9/23Laboratorio Programacin II
Ventajas del uso de TagLibs
Las etiquetas personalizadas nos permiten encapsular
codigo java, de manera que su uso sea tranparente
desde un archivo JSP.
Ejm:
8/14/2019 JEE CustomTag I
10/23
Ventajas del uso deTagLibs
Pueden estar asociados a parmetros yatributos que define su propio comportamientoen runtime.
El tag podr accesar al contenido de pagina yescribir sobre ella.
La reutilizacin, que permite desarrollarlibreras y distribuirlas, existen tags genricos
tales como jstl.Mejora el mantenimiento para el diseador yprogramador.
Elimina el cdigo de las pginas jsp, en
general, separa la presentacin del cdigorealmente.
8/14/2019 JEE CustomTag I
11/23
Dentro del paquete:
javax.servlet.jsp.tagext
Define una interaccin entre el JspEngine y el tag handler.
Controla el ciclo de vida y losmtodos que van ha ser invocadosdesde el inicio hasta el final del Tag.
La Interfaz Tag
8/14/2019 JEE CustomTag I
12/23
8/14/2019 JEE CustomTag I
13/23
8/14/2019 JEE CustomTag I
14/23Laboratorio Programacin II
Mtodos
Creando una etiqueta personalizada
public class TagSimple extends TagSupport {
public int doStartTag() { // instrucciones }
public int doEndTag() { // instrucciones }
}
8/14/2019 JEE CustomTag I
15/23
EVAL_BODY_INCLUDE
Evalua el cuerpo o contenido de laetiqueta.
EVAL_PAGE
Continua evaluando la pgina.
SKIP_BODYSalta el cuerpo (contenido de la
etiqueta).
SKIP_PAGESalta al resto de la ina.
Constantes
8/14/2019 JEE CustomTag I
16/23
8/14/2019 JEE CustomTag I
17/23Laboratorio Programacin II
Custom Tags
8/14/2019 JEE CustomTag I
18/23
Tag Library Descriptor
TLD es un documento XML con extensin.tld
Describe uno o mas tags customizados,indicando sus atributos si tuvieran.
Tambin se definen las clases con las que
estn relacionados.
8/14/2019 JEE CustomTag I
19/23
Tag Library Descriptor
Dentro del archivo web.xml ubicar losdatos del .tld
NOMBRE
UBICACION
< ta lib>
8/14/2019 JEE CustomTag I
20/23
Resumen de Tag Library
Escribir un Tag(Clase Java).
Registrar el Tag enun Tag Library (xmltld)
Habilitar el TagLibrary en la web-
app (modificar xml) Usar el Tag Library
(en un jsp)
8/14/2019 JEE CustomTag I
21/23Laboratorio Programacin II
Custom Tags
Importante
Cuando necesitemos un tag para iterar sobre una coleccin
Debemos usar un mtodo mas, que se encargara de la iteracin:
public class Clase extends TagSupport {
public int doStartTag() throws JspTagException { // instrucciones }
public int doAfterBody() throws JspTagException { // instrucciones}
public int doEndTag() throws JspTagException { // instrucciones}
}
8/14/2019 JEE CustomTag I
22/23
Laboratorio Programacin II
Custom Tags
8/14/2019 JEE CustomTag I
23/23
Siguiente paso
Construir nuestros propios tags o
utilizar tags existentes