Pregunta

¿Alguien puede explicar la idea detrás de las bibliotecas de etiquetas personalizadas JSP y los archivos de etiquetas JSP 2?

¿Son solo formas diferentes de hacer lo mismo?

¿Cómo se comparan? ¿Cuáles son sus pros y sus contras, y cuál es mejor?

¿Fue útil?

Solución

I < 3 archivos de etiquetas, pero ese desarrollador principal de JSTL está fumando crack si realmente dicen eso. NO PUEDE volver a escribir todas las etiquetas de la biblioteca de etiquetas como etiquetas de archivo de etiqueta, por una razón muy importante: los archivos de etiqueta no pueden hacer:

return EVAL_BODY_INCLUDE;

En otras palabras, los archivos de etiquetas solo tienen tres opciones para su contenido corporal:

vacío: sin contenido interno, es decir. < someTag / >

sin script: sin contenido interno JSP, es decir. < someTag > < p > hola mundo < / p > < / someTag > está bien, pero no < someTag > < p > <% = helloWorld.toString ()% > < / p > < / someTag >

dependiente de etiqueta: puede tener contenido interno JSP, pero no se procesará como tal; en su lugar, debe analizarlo / renderizarlo como mejor le parezca

Pero con las etiquetas de biblioteca de etiquetas de estilo antiguo, puede tener: < body-content > JSP < / body-content > (en el archivo tld) y luego " devuelve EVAL_BODY_INCLUDE; " de su " doStartTag " ;. Si hace esto, todas sus directivas JSP se analizarán como si fueran una parte normal de su página, y su etiqueta simplemente las envuelve con el contenido apropiado.

Personalmente, mi regla general es: usar archivos de etiquetas siempre que pueda, es decir. siempre que no necesite directivas JSP para trabajar dentro de la etiqueta, porque son un millón de veces más limpias, más fáciles de trabajar para un no programador, no requieren un tld (bueno, si las mantiene en un espacio de nombres separado de sus etiquetas de biblioteca de etiquetas).

Pero si desea contenido JSP dentro de su etiqueta, su única opción son las etiquetas de biblioteca de etiquetas. Con suerte, algún día, la gente de JSP lanzará una forma de hacer el procesamiento de directivas de JSP dentro de una etiqueta de archivo de etiqueta, y luego realmente podremos abandonar las viejas etiquetas basadas en clases, pero hasta entonces no intentes hacer todas las etiquetas con archivos de etiqueta , ya que rápidamente se verá reducido a crear etiquetas personalizadas para cada última pieza de lógica (ya que esa es la única forma de hacer lógica sin usar las directivas JSP).

Otros consejos

Problemas al desarrollar etiquetas personalizadas

Las etiquetas personalizadas tradicionales requieren programación Java habilidades.

Todas las etiquetas personalizadas, excepto las más simples, no son fáciles de escribir.

El propósito de JSP, en contraste con los servlets, es usar lenguaje de marcado para gestionar el diseño con incrustado contenido dinámico.

Tener que escribir código Java complejo en etiquetas personalizadas que se centran en el lenguaje de marcado va al revés.

Podríamos querer usar el lenguaje de expresión JSP o otras etiquetas personalizadas al implementar una nueva personalizada etiqueta.

La solución   Archivos de etiquetas JSP 2.0

  • Los archivos de etiquetas son uno de los nuevos conceptos importantes introducidos con JSP 2.0.
  • Los archivos de etiquetas permiten un desarrollo más fácil y rápido de etiquetas personalizadas.
  • Los archivos de etiquetas se desarrollan utilizando la sintaxis JSP normal, incluidos los elementos de secuencias de comandos, y se utilizan como cualquier otra etiqueta personalizada.
  • Cada etiqueta personalizada es un archivo de etiqueta separado.

¿Cómo difieren los archivos de etiquetas?

Escrito usando la sintaxis JSP.

  • No todas las directivas JSP están permitidas en un archivo de etiqueta.
  • Compatible con nuevas directivas específicas de archivo de etiqueta, acciones y objetos implícitos.

Identificado por un sufijo .tag o .tagx .

Diseñado para proporcionar a los desarrolladores de etiquetas personalizadas facilidad de desarrollo sin pérdida de funcionalidad.

  • Uno de los principales desarrolladores de JSTL ha comentado que si tuviera tiempo, volvería a escribir todo JSTL utilizando archivos de etiquetas.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top