我开始使用Go语言,现在正试图创建一个HTML页面。我对Go编程和HTML都很陌生。
在我的Go程序中,我正在尝试将HTML页面(div)解析为主HTML页面(index.html),并尝试使用Go中的模板将此div添加到主HTML页面中。
我正在尝试解析数据的HTML页面如下:
所有带有%xxx%的值在Go中被解析为包含有用信息的内容,并且一切都正确。
但是现在我正在尝试在Go中使用模板将这两个值解析在一起,但似乎出了些问题。
我正在使用以下Go函数来实现:
在我的Go程序中,我正在尝试将HTML页面(div)解析为主HTML页面(index.html),并尝试使用Go中的模板将此div添加到主HTML页面中。
我正在尝试解析数据的HTML页面如下:
<html>
<head>
<meta charset="utf-8">
<title>SmartHomePi Status</title>
<link rel="stylesheet" href="../static/css/style.css">
</head>
<body>
<h1>HomeControl Connection Status</h1>
<div id="wrapper" width="100%">
{{.SonoffBasic}}
</div>
</body>
{{.SonoffBasic}} 部分是我尝试添加 div 的部分。 我想要添加的 div 如下所示:
<div id="sonoffbasicdevice">
<span class="%connectiondotclass%"></span>
<p id="title">%title%</p>
<p id="tempandhum">%humstatus%</p>
<p id="ipaddress">%ipaddress%</p>
<p id="portnumber">%portnumber%</p>
</div>
所有带有%xxx%的值在Go中被解析为包含有用信息的内容,并且一切都正确。
但是现在我正在尝试在Go中使用模板将这两个值解析在一起,但似乎出了些问题。
我正在使用以下Go函数来实现:
func renderHomeKitTemplate(w http.ResponseWriter, tmpl string, items *WebPageHTMLItems) {
err := templates.ExecuteTemplate(w, "index.html", items)
}
变量items是一个结构体,长这样:
type WebPageHTMLItems struct{
SonoffBasic string
}
其中theSonoffBasic字符串包含所有填写信息的div。
当我运行程序时,可以查看网页,但是当网页显示时,它显示为纯文本,我在这里做错了什么?
这是否是将数据解析到HTML文件中的正确方法。我使用这种添加完整div的方式的原因是我可以拥有多个“sonoffbasicdevice”项目并应该添加多个。