七叶笔记 » golang编程 » Go语言Web编程,模板解析与传值

Go语言Web编程,模板解析与传值

本节期开始模板

1. 什么是模板

模板是可用于创建动态内容的文本文件。

Go提供了两个模板库 text/template和 html/template。

通常采用 text/template,目的是为了更好的前后端分离,提高性能。

2. 模板的第一个示例

代码解析:

 // HelloGoPy
//定义handler Temp1处理/temp1
func HelloGoPy(w http.ResponseWriter, r *http.Request) {
      //ParseFiles函数是为了创建一个模板,参数至少包含1个模板文件,当存在多个不同目录的相同名称的模板文件时,将取最后1个模板文件。
      //例如,ParseFiles("user/index", "admin/index")将"admin/index.html"存储为名为"index"的模板。
      files, _ := template.ParseFiles("temp1.html")
      //Execute方法将经过解析的模板应用于指定的数据对象data,并将输出写入wr io.Writer。
      //一个模板的执行是具备可靠、并行特点。
      files.Execute(w, "hello GoPy")
}  

3. 当存在不同目录的相同文件名的解析文件时

执行结果

4. 同目录下不同的文件名

需要注意的是30行:在26行执行template.ParseFiles的时候,模板名是不包含目录的文件名,因此,在30行的时候第二个参数,就不能写admin/admin.html,而只能写admin.html。

30行:第二个参数写成admin.html,就代表启用了26行中解析的admin/admin.html模板。

相关文章