2 回答
TA贡献1803条经验 获得超3个赞
ParseFiles将文件列表的名称存储为模板名称。这意味着,在您的情况下,login.html应该在执行中使用,而 while../ui/login.html不可用。
这是可行的,因为 login.html 已经被命名为init()。
func init() {
tmpl = template.Must(template.ParseFiles("../ui/login.html"))
}
func foo(reswt http.ResponseWriter, req *http.Request) {
tmpl.ExecuteTemplate(reswt, "login.html", nil)
}
TA贡献1775条经验 获得超11个赞
对于泛型类型,您可以这样调用
import(
"html/template"
)
// output html
func OutputHTML(w http.ResponseWriter, filename string, data interface{}) {
t, err := template.ParseFiles(filename)
if err != nil {
http.Error(w, err.Error(), 500)
return
}
if err := t.Execute(w, data); err != nil {
http.Error(w, err.Error(), 500)
return
}
}
你这样称呼它
OutputHTML(w, "anyhtmlfile.html",nil)
- 2 回答
- 0 关注
- 118 浏览
添加回答
举报