数据结构定义为:
type TopicModels struct {
Topics string
}
viewHandler 是:
func viewHandler(w http.ResponseWriter, r *http.Request) {
page, _ := loadTopicModels("topics")
templates := template.Must(template.ParseGlob("./templates/*"))
err := templates.ExecuteTemplate(w, "indexPage", page)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
}
对于页面变量,返回值为:
return &TopicModels{Topics: "test"}, nil
然后,在 html 中,我使用 {{.Topics}} 来显示里面的值。但是,我没有得到任何值,这意味着 null。
模板是:
{{define "indexPage"}}
<html>
{{template "header"}}
<body onload="initialize()">
<nav class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="#">Welcome to TDT Project</a>
</div>
</div>
</nav>
<div class="block-center">
<div>
<div class="btn-group-vertical float-left">
<a href="#" class="btn btn-default">{{.Topics}}</a>
<p>Date: <input type="text" id="datepicker"></p>
</div>
<div id="googleMap"></div>
</div>
<div class="bot-block">
Global Semantic Graph
</div>
</div>
</body>
</html>
{{end}}
其中 {{header}} 是另一个 html 文件,其中包含
<link rel="stylesheet" type="text/css" href="/static/css/bootstrap.css">
和
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
使用 ExecuteTemplate() 时有什么需要注意的吗?我该如何解决这个问题?