Saya menggunakan Gin Gonic dan fail templat HTML.
Fail templat saya mengandungi (berbilang baris) komen HTML yang serupa dengan <!--Ini ulasan saya -->. Saya ingin mengekalkan kandungan HTML dalam output yang dikembalikan.
c.HTML(http.StatusOK, "static/templates/mytemplate.html", gin.H{ "name": "World", })
Soalan: Bagaimana untuk mengkonfigurasi enjin templat atau c.HTML untuk tidak menanggalkan ulasan HTML dalam templat?
/static/templates/mytemplate.html
:
<!DOCTYPE html> <html lang="de"> <body> <!-- 这些行在输出中缺失。 --> Hello World </body> </html>
Pengendali saya:
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", }) }
Selepas mengedit, saya cuba menambah anotasi sebagai pemalar :
{{"<!-- my comment goes here -->"}}
tetapi tag itu terlepas sebagai
<!-- foo -->
Saya rasa sebab komen HTML dialih keluar adalah kerana saya membaca templat HTML sebagai rentetan (bukannya terus sebagai fail). Punca sebenar masih tidak dapat ditentukan. Bagaimanapun, penyelesaian yang berkesan untuk saya ialah menggunakan ruang letak dalam templat.
dan hantar komen HTML itu sendiri sebagai parameter:
Gunakan import "html/template" untuk mengimport