模板 – Golang从文件嵌入html
发布时间:2020-12-16 19:03:44 所属栏目:大数据 来源:网络整理
导读:如果我有这样的 HTML文件,我怎么能在Golang中做: html head lang="en" /head body header{{.Header}}/header div class="panel panel-default" /div /body/html 我想将一部分代码嵌入到其他文件的头文件标签中,如下所示: div id="logo"/divdiv id="motto"/
如果我有这样的
HTML文件,我怎么能在Golang中做:
<html> <head lang="en"> </head> <body> <header>{{.Header}}</header> <div class="panel panel-default"> </div> </body> </html> 我想将一部分代码嵌入到其他文件的头文件标签中,如下所示: <div id="logo"></div><div id="motto"></div> 我的尝试: header,_ := template.ParseFiles("header.html") c := Content{Header: ""} header.Execute(c.Header,nil) index := template.Must(template.ParseFiles("index.html")) index.Execute(w,c)
如果使用
template.ParseFiles() 或
template.ParseGlob() 解析所有模板文件,模板可以相互引用,它们可以相互包含.
更改index.html以包含header.html,如下所示: <html> <head lang="en"> </head> <body> <header>{{template "header.html"}}</header> <div class="panel panel-default"> </div> </body> </html> 然后是完整的程序(解析当前目录中的文件,执行“index.html”并将结果写入标准输出): t,err := template.ParseFiles("index.html","header.html") if err != nil { panic(err) } err = t.ExecuteTemplate(os.Stdout,"index.html",nil) if err != nil { panic(err) } 使用template.ParseGlob()它可能看起来像这样: t,err := template.ParseGlob("*.html") // ...and the rest is the same... 输出(打印在控制台上): <html> <head lang="en"> </head> <body> <header><div id="logo"></div><div id="motto"></div></header> <div class="panel panel-default"> </div> </body> </html> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |