J'utilise Gin Gonic et un fichier modèle HTML.
Mon fichier modèle contient des commentaires HTML (multilignes) similaires à <!--Ceci est mon commentaire -->. Je souhaite conserver le contenu HTML dans la sortie renvoyée.
c.HTML(http.StatusOK, "static/templates/mytemplate.html", gin.H{ "name": "World", })
Question : Comment configurer le moteur de modèles ou c.HTML pour ne pas supprimer les commentaires HTML dans les modèles ?
/static/templates/mytemplate.html
:
<!DOCTYPE html> <html lang="de"> <body> <!-- 这些行在输出中缺失。 --> Hello World </body> </html>
Mon gestionnaire :
func NewRouter() *gin.Engine { router := gin.Default() // ... load templates from file system ... router.GET("/foo", fooHandler) return router } func fooHandler(c *gin.Context) { c.HTML(http.StatusOK, "static/templates/mytemplate.html", gin.H{ "name": "World", }) }
Après l'édition, j'ai essayé d'ajouter l'annotation en tant que constante :
{{"<!-- my comment goes here -->"}}
mais le tag est échappé comme
<!-- foo -->
Je suppose que la raison pour laquelle les commentaires HTML sont supprimés est parce que je lis le modèle HTML sous forme de chaîne (au lieu de directement sous forme de fichier). La cause exacte reste indéterminée. Quoi qu'il en soit, la solution qui a fonctionné pour moi consistait à utiliser des espaces réservés dans le modèle.
et passez le commentaire HTML lui-même en paramètre :
Utilisez import "html/template" pour importer