在golang中的马提尼的html模板

时间:2015-11-17 00:58:05

标签: go martini go-html-template

我对go,martini和马提尼如何使用模板有问题。

package main

import (
   "github.com/go-martini/martini"
   "github.com/martini-contrib/render"
)
type Page struct {
    Caption string
    Body    string
    Tmpl    string
}
func main() {
    webApp = martini.Classic()
    webApp.Get("/", indexHandler)
    webApp.Use(render.Renderer(render.Options{
      Directory:  "templates",
      Layout:     "layout",
      Extensions: []string{".tmpl", ".html"},
      Delims:     render.Delims{"{{", "}}"},
      Charset:    "UTF-8",
      IndentJSON: true}))
    webApp.Run()

}
func indexHandler(r render.Render) {
    var indexPage Page
    indexPage.Caption = "index"
    indexPage.Tmpl = "subIndex"
    r.HTML(http.StatusOK, "index", indexPage)
}

如果我在index.tmpl中使用fallowing代码:

 <h2>Caption{{.Caption}}</h2>
{{ .Tmpl }}

// caption工作,.Tmpl工作,并将subIndex视为字符串)

如果我在index.tmpl中使用fallowing代码:

<h2>Caption{{.Caption}}</h2>
{{ template .Tmpl }}

模板调用中出现意外错误“Tmpl” 相同的错误消息

 <h2>Caption{{.Caption}}</h2>
{{ $templateName := .Tmpl }}
{{ $templateName }}

{{ template $templateName }}

subIndex.tmpl很简单

 <h3>subindex</h3>

我已经使用go build构建了程序,并且盯着它,当我用localhost:3000打开浏览器时,我收到了我提到的错误。

我错过了什么?

0 个答案:

没有答案