go web开发第三讲 -模板引擎
模板引擎就是一个可以再模板中使用变量的一套框架,可以方便我们进行html的嵌套,数据的传输。
接下来我们讲解如何在go开发中使用模板引擎。
- 引入模板引擎包html/template
import "html/template"
-
创建模板文件夹,创建模板文件
-
在控制器中对模板中使用的变量进行赋值
-
在模板中使用变量
handleIndex(w http.ResponseWriter, r *http.Request){
data := {
Title string
Items []string
}{
Title: "模板引擎",
Items:[]string{
"golang 很强大" ,
"mux 是非常要用的go web 组件" ,
},
}
templates.ExecuteTemplate(w,,data)
}
var templates *template.Template
templates = template.Must(template.ParseGlob("templates/*.html"))
r := mux.NewRouter()
r.HandleFunc("/", handleIndex)
通过调用tempate.Must方法,我们可以对模板文件夹进行解析
然后调用tempalates.ExecuteTempate表示具体调用哪个模板文件,并且需要传什么参数。
模板文件代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{.Title}}</title>
</head>
<body>
{{range.Items}}
{{.}}
{{end}}
</body>
</html>