Golang打印html模板中的数组值

时间:2014-07-07 17:53:26

标签: html http templates go

我不知道如何将数组中的值打印到html模板中 这是我的结构

type Lampen struct {
Values [10]string
}

我的用于压缩模板的代码如下

title := "moodlights"
p := &lampen.Lampen{}
err := p.LoadLampValues(title)
if err != nil {
    log.Printf("Error loading Config File")
    for i := range p.Values {
        p.Values[i] = "0"

    }
}
t, _ := template.ParseFiles("template.html")
t.Execute(w, p)

它的作用是,它从JSON文件加载值。 但现在我不知道如何将值打印到html文件中。 有效的是:

<div>Lampe0: <input type="text" name="Lampe0" value={{index .Values 0}} maxlength="6"></div>

但当然它并没有逃避html中的值,所以XSS是一个问题。

更新:对于跨站点脚本我想在此处显示的问题是: 如果json文件包含以下

    "Values": [
    "\u003e",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    ""
]

相当于&gt;,打印的html将是

<div>Lampe0: <input type="text" name="Lampe0" value=> maxlength="6"></div>

所以它没有逃脱

如何将其打印到html中,以便将其转义?

UPDATE2: 可以在https://github.com/Binary-Kitchen/gokitchenmood

看到带有转义的旧工作版本

1 个答案:

答案 0 :(得分:0)

好吧,好像我使用的是文本/模板,而不是html / template。所以这基本上是我的错。感谢JimB指出它。