执行模板最常用的方法就是调用模板的Execute
方法,并向它传递ResponseWriter
以及模板所需的数据。在只有一个模板的情况下,上面提到的这种方法总是可行的,但如果模板不止一个,那么当对模板集合调用Execute
方法的时候,Execute
方法只会执行模板集合中的第一个模板。
如果想要执行的不是模板集合中的第一个模板而是其他模板,就需要使用Execute Template
方法。比如,对以下语句来说:
t, _ := template.ParseFiles("t1.html", "t2.html")
变量t
就是一个包含了两个模板的模板集合,其中第一个模板名为t1.html
,而第二个模板则名为t2.html
(正如前面所说,除非显式地对模板名进行修改,否则模板的名字和后缀名将由传入的模板文件决定)。如果对这个模板集合调用Execute
方法:
t.Execute(w, "Hello World!")
就只有模板t1.html
会被执行。如果想要执行的是模板t2.html
而不是t1.html
,则需要执行以下语句:
t.ExecuteTemplate(w, "t2.html", "Hello World!")
在学会了怎样调用模板引擎并使用它去分析和执行模板之后,接下来我们要学习的是如何使用Go语言提供的各种模板动作。