首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Go网页模板服务空白

Go网页模板服务空白
EN

Stack Overflow用户
提问于 2016-12-11 10:21:00
回答 1查看 461关注 0票数 2

我编写了这个Go Lang代码,用于为网页提供模板和通过Go程序传递给参数的值。

代码语言:javascript
复制
// +build

package main

import (
    "html/template"
    "io/ioutil"
    "net/http"
)
type Blog struct {
    title   string
    heading string
    para    string
}
func loadfile(filename string) (string, error) {
    byte, err := ioutil.ReadFile(filename)
    return string(byte), err
}
func handler(w http.ResponseWriter, r *http.Request) {
    blog := Blog{title: "GoLang", heading: "WebServer", para: "coding"}
    t, err := template.ParseFiles("test.html")
    fmt.Println(err)
    t.Execute(w, blog)
}
func main() {
    http.HandleFunc("/", handler)
    http.ListenAndServe(":9000", nil)
}

名为test.html的HTML模板文件如下所示

代码语言:javascript
复制
<html>
<head>
<title>{{.title}}</title>
</head>
<body>

<h1>{{.heading}}</h1>
<p>{{.para}}</p>

</body>
</html> 

当我执行程序时,问题是所提供的页面显示为空白。要传递给模板的参数不会显示在呈现的页面上。我甚至打印了错误,但是没有错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-11 10:43:00

您应该用大写字母写Blog字段的第一个字母,以使它们公开。

代码语言:javascript
复制
type Blog struct {
    Title   string
    Heading string
    Para    string
}

还可以向方法Execute()传递一个映射,如下所示:

代码语言:javascript
复制
b := map[string]string{
    "title": "GoLang",
    "heading": "WebServer",
    "para": "coding",
}
t.Execute(w, b)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41085135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档