A diferencia del paquete de texto/HTML en GO, el paquete HTML/plantilla limpia los datos y escapa todas las entradas antes de ejecutarlo en el lado del cliente. Esto evita fallas de seguridad como inyección de código utilizando secuencias de comandos de sitio cruzado.
Componentes de una plantilla
Una plantilla está compuesta por tres componentes principales.
Comportamiento
Las evaluaciones de datos se refieren a funciones, bucles y evaluaciones de datos. Se denotan mediante el uso de aparatos ortopédicos dobles como . Un elemento de puntos dentro de una plantilla representa el elemento raíz. Usando acciones de plantilla, puede determinar la salida final basada en una expresión específica.
Condiciones
También puede incluir si ... más construyen en una plantilla. Un ejemplo de si ... de lo contrario en una plantilla es como se muestra:
si .condición // ejecutar esto else si .condición // Ejecute este bloque else // ejecutarme endLa sintaxis anterior ejecutará el primer bloque si la primera condición es verdadera, de lo contrario, verifique la condición 2 y, si es cierto, ejecute el segundo bloque. Si ninguno es verdadero, ejecute el bloque de la otra.
Bucles
Los bucles también se admiten dentro de una plantilla. Por ejemplo, puede iterar sobre una porción dentro de una plantilla como se muestra:
rango .var // do else // do endEl VAR puede ser cualquier tipo iterable, como una matriz, una porción o un mapa.
Plantilla de Golang HMTL
Trabajar con plantillas en HTML es muy sencillo. Puede usar las construcciones de plantilla discutidas anteriormente para determinar cómo puede insertar los datos.
Por ejemplo, podemos crear una lista e iterar sobre cada elemento en la lista. Luego podemos pasar esa información a la plantilla HTML para mostrar el lado real en el lado del cliente.
Un ejemplo es como se muestra a continuación:
paquete principalLos ejemplos anteriores usan HTML/plantilla para inyectar datos de la estructura a la plantilla HTML.
Clausura
Esta guía ilustra cómo usar el paquete HTML/Template para inyectar contenido dinámico en el archivo HTML. Consulte el paquete HTML/plantilla para obtener más información.