登录
首页 >  Golang >  Go问答

在Go中如何基于struct的数据生成HTML

来源:stackoverflow

时间:2024-03-18 20:51:34 362浏览 收藏

在 Go 中生成基于结构体数据的 HTML 需遵循以下步骤: 1. 使用 `template.ParseFiles` 解析 HTML 模板。 2. 定义一个包含要显示数据的结构体。 3. 使用 `template.Execute` 将结构体数据填充到模板中。 4. 将填充后的模板转换为字符串。 以下是如何实现上述步骤的示例代码: ```go package main import ( "os" "text/template" ) type Email struct { Page

问题内容

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




    
    shareholder



{{.pagetitle}}

我这样称呼:

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)
}

第一个日志的输出是 &{ 0xc0000b0080 0xc0000d0050}

最后一个日志我收到这样的错误: 模板:“”是不完整或空的模板

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

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


解决方案


您不需要 template.New("") 调用。 template.ParseFiles("./pkg/template/email.html") 可以工作。

编辑:您还需要删除最后一个 log.Println 行。

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>