当前位置: > > > > golang html模板格式不正确
golang html模板格式不正确
来源:stackoverflow
2024-04-25 13:06:36
0浏览
收藏
本篇文章给大家分享《golang html模板格式不正确》,覆盖了Golang的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。
问题内容
这可能是一个非常基本的问题,因为我根本不熟悉网络编程。我正在尝试使用 html 模板创建一个表,其内容通过 go 脚本填充。我的问题是标签没有落在我想要的地方。这是用于 html 模板的 html
<h1>exchange rate for {{.title}}</h1>
<form action="/dateshow/react" method="post">
<table>
<tr>
<td>from</td>
<td>to</td>
<td>rate</td>
<td>7-day avg</td>
</tr>{{.data}}
</table>
<div><input type="submit" value="save"></div>
</form>
我期望 go 脚本会在第一个“tr”标签之后和“table”标签内打印“数据”。相反,这就是我得到的
<html><head></head><body><h1>Exchange Rate for 2018-07-02</h1>
<form action="/dateShow/react" method="POST">
<tr><td>usd</td><td>idr</td><td>15.000000</td><td>14.238334</td></tr><tr><td>usd</td><td>sgd</td><td>1.320000</td><td>1.310000</td></tr>
<table>
<tbody><tr>
<td>From</td>
<td>To</td>
<td>Rate</td>
<td>7-day avg</td>
</tr></tbody></table>
<div><input type="submit" value="Save"></div>
</form></body></html>
这太奇怪了,因为“标题”部分工作正常并落在我想要的地方。但身体却并非如此
解决方案
只需将整个汇率切片传递给模板,然后使用 对其进行迭代即可。
例如,如果您有一个如下结构:
var exchangerates []exchangerate
type exchangerate struct {
from string
to string
rate float64
sevendayaverage float64
}
您将把 exchangerates 传递给模板,模板可能如下所示:
<table>
<tbody><tr>
<td>From</td>
<td>To</td>
<td>Rate</td>
<td>7-day avg</td>
</tr>
{{range .ExchangeRates}}
<tr>
<td>{{.From}}</td>
<td>{{.To}}</td>
<td>{{.Rate}}</td>
<td>{{.SevenDayAverage}}</td>
</tr>
{{end}}
</tbody>
</table>
今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注米云公众号,一起学习编程~
