golang虹膜直接返回模板html

时间:2018-06-29 10:18:06

标签: go

<!-- file: web/views/hello/index.html -->
<html>
<head>
    <title>{{.Title}} - My App</title>
</head>
<body>
    <p>{{.MyMessage}}</p>
</body>
</html>

package main

import (
  "github.com/kataras/iris"
)
func main() {
    app := iris.New()
    // Load the template files.
    app.RegisterView(iris.HTML("./web/views", ".html"))
    // Serve our controllers.
    mvc.New(app.Party("/hello")).Handle(new(controllers.HelloController))
    // http://localhost:8080/hello
    app.Run(
        iris.Addr("localhost:8080"),
        iris.WithoutVersionChecker,
        iris.WithoutServerError(iris.ErrServerClosed),
        iris.WithOptimizations,
    )
}

package controllers

import (
    "github.com/kataras/iris/mvc"
)
type HelloController struct{}

var helloView = mvc.View{
    Name: "hello/index.html",
    Data: map[string]interface{}{
        "Title":     "Hello Page",
        //"MyMessage": "Welcome to my awesome website",
    },
}
func (c *HelloController) Get() mvc.Result {
    return helloView
}

我想直接返回模板html。在func(c * HelloController)Get()mvc.View {return helloView}中,但是一旦执行此操作,模板中的参数将为空。 {{.Title}}和{{.MyMessage}}丢失

1 个答案:

答案 0 :(得分:0)

这是我从mvc/overview example获得的结果,符合预期: enter image description here

有什么可以帮您的吗?