猿问

如何在 Go 中使用 struct 中的数据生成 html

我有一个这样的html email.html:


<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>Shareholder</title>

</head>

<body>


<h1> {{.PageTitle}} </h1>


</body>

</html>

我这样称呼:


func main() {


    theTemplateHTML, err := template.New("").ParseFiles("./pkg/template/email.html")

    if err != nil {

        log.Fatal(err)

    }

    log.Println(theTemplateHTML)


    type Email struct {

        PageTitle string

    }

    var email Email

    email = Email{

        PageTitle: "Hello Word",

    }

    err = theTemplateHTML.Execute(os.Stdout, &email)

    if err != nil {

        log.Fatal(err)

    }


    log.Println(theTemplateHTML)

}

第一个日志上的输出是 &{<nil> 0xc0000b0080 <nil> 0xc0000d0050}


最后一个日志我得到这样的错误 template: "" is an incomplete or empty template


那是 html 的输出吗?以及如何{{.PageTitle}}使用 stuct 在该 html 中定义?


如何更正在该 html 中定义结构并能够通过字符串查看结果,因为我希望该模板为字符串?


海绵宝宝撒
浏览 136回答 1
1回答

ABOUTYOU

您不需要template.New("")调用。template.ParseFiles("./pkg/template/email.html")将工作。编辑:您还需要删除最后log.Println一行。
随时随地看视频慕课网APP

相关分类

Go
我要回答