Pregunta

En Grails, existen dos mecanismos para la modularidad en la visualización de capas: Plantilla y TagLib.

Mientras estoy escribiendo mi propia aplicación Grails, a menudo estoy de frente a la misma pregunta cuando siento la necesidad de escribir un componente de interfaz de usuario: qué necesito para utilizar una plantilla o un TagLib?

Después de buscar por la web, no he encontrado un montón de las mejores prácticas o reglas de pulgar sobre esta decisión de diseño, así que me pueden ayudar y decirme:

  1. ¿Cuál es la principal diferencia entre los dos mecanismos?
  2. En los escenarios, usted utiliza una TagLib en lugar de una Plantilla (y viceversa) ?
¿Fue útil?

Solución

Definitivamente hay algunas coincidencias, pero debajo hay varias cosas en las que pensar.Una manera de pensar acerca de esto es que la Plantilla es como un método de nivel de reutilización, mientras que TagLibs son más convenientes para la API de nivel de reutilización.

  • Plantillas son ideales para cuando se tiene que dar formato a algo específico para la pantalla.Por ejemplo, si usted wan para mostrar un objeto de dominio de una manera específica, normalmente, es más fácil que hacerlo en una plantilla, ya que básicamente sólo escribir HTML con algunos .Es reutilizable, pero creo que su reutilización en un poco limitado.I. e.si usted tiene una plantilla, usted tendría que utilizar en varias páginas, no en cientos de páginas.

  • Por otro lado, taglibs es una unidad más pequeña de la funcionalidad, sino una que son más propensos a utilizar en muchos lugares.En él, usted es probable para concatenar cadenas de caracteres, por lo que si usted está mirando para crear un centenar de líneas de código HTML, que es menos conveniente.Una característica clave taglibs permitir que se refiere a la capacidad para inyectar / interactuar con los servicios.Por ejemplo, si usted necesita una pieza de código que llama a un servicio de autenticación y muestra el usuario actual, sólo puede hacer que en un TagLib.Usted no tiene que preocuparse acerca de pasar nada a la taglib en este caso - taglib va a ir y la figura hacia fuera de servicio.Usted también es probable que el uso que en muchas páginas, así que es más conveniente tener un taglib que no necesita parámetros.

  • También hay varios tipos de taglibs, incluyendo aquellos que permiten a iterar sobre algo en el cuerpo, han condicional, etc - que realmente no es posible con las plantillas.Como he dicho anteriormente, un bien elaborado taglib de la biblioteca se puede utilizar para crear un re-utilizable API que hace que su GSP el código más legible.Dentro de la misma *taglib.groovy puede tener varias definiciones de la etiqueta, de modo que otro de la diferencia -, puede agruparlas todas en un único lugar, y la llamada de uno taglib en otro.

También, tenga en cuenta que usted puede llamar a una plantilla desde el interior de un taglib, o usted puede llamar a taglibs dentro de las plantillas, así que usted puede mezclar y combinar según sea necesario.

Espero que esto aclare arriba para usted un poco, aunque en realidad mucho de esto es lo que construye es más conveniente para el código y con qué frecuencia va a ser reutilizado.

Otros consejos

En cuanto a nosotros ...

se supone que un codificador para ver la lógica específica de presentación del objeto en la plantilla, y no en cualquier otro lugar.

Utilizamos taglibs sólo para elementos de la página aislados, no relacionados con la lógica de negocio en absoluto. En realidad, tratamos de minimizar su uso: es demasiado fácil para escribir la lógica de negocio en una taglib

.

Las plantillas son la forma convencional para ir; por ejemplo, apoyan diseños (por cierto, que se pueden nombrar un tercer mecanismo)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top