智能在线客服系统源码GOFLY开发日志- 7. gin框架加载模板页面
虽然这种由后端输出模板页面的方式不流行了,但是依然有着一定的存在价值。
比如当我需要把模板文件打包进二进制文件中的时候,还是需要后端去渲染输出html模板页面
加载页面这里面我遇到的几个小的需求点,在这里做简单的总结:
模板页面输出渲染html
当后端分配变量字符串是html时,如果前端直接{{.变量名}}展示,会进行html实体转义
想要解决这个问题,就是在分配变量的时候,使用template.HTML(变量)进行下强制类型转换
这种类型的才会被当成html进行渲染
c.HTML(http.StatusOK, "login.html", gin.H{
"SystemKefu": template.HTML(SystemKefu),
})
模板中进行判断逻辑
后端分配一个变量,模板页面根据这个变量进行判断,根据条件展示不同的html片段
标签结构:
{{if 条件}}
html片段
{{end}}
这个里面条件部分,尽量在分配变量之前就处理好,这样模板里逻辑更清晰一点
isRegister := true
if SystemRegister == "2" {
isRegister = false
}
c.HTML(http.StatusOK, "login.html", gin.H{
"isRegister": isRegister,
})
模板里面
{{if .isRegister}}
<a>注册新账户</a>
{{end}}
模板嵌套
当网站里面有公共的头部,底部的时候,就可以用到这个模板嵌套
footer.html
{{define "footer"}}
html片段
{{ end }}
index.html
{{template "footer" .}}
后面还遇到了哪些问题和知识点将会继续进行总结。
演示网站:
gofly.sopans.com
本作品采用《CC 协议》,转载必须注明作者和本文链接
帖子已从回收站救出