Go HTML嵌套html模板

  • 2018-12-10 22:29:59
  • 1039
  • 0


nested-templates.go


package main 

import (
    "log"
    "os"
    "text/template")
    
var tpl *template.Template

func init(){
    tpl = template.Must(template.ParseGlob("templates/*.html"))
}

func main(){
    err := tpl.ExecuteTemplate(os.Stdout,"index.html",444)
    if err != nil {
        log.Fatalln(err)
    }
}


templates 目录下的index.html



<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Hello World!</title>
</head>
<body>
<h1>The meaning of life: {{.}}</h1>
<p>{{template "polarbear"}}</p>
</body>
</html>



templates 目录下的nested.html


{{define "polarbear"}}
这个是嵌套模板
{{end}}




go run nested-templates.go






给嵌套模板渲染数据


修改index.html


<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Hello World!</title>
</head>
<body>
<h1>The meaning of life: {{.}}</h1>
<p>{{template "polarbear" .}}</p>
</body>
</html>


修改 nested.html


{{define "polarbear"}}
这个是嵌套模板
{{.}}
{{end}}



编译:


go run nested-templates.go



回复
举报
全部回复(0)

参与讨论