JEE CustomTag I

  • 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