html/template:如何在没有 <script> 标签的情况下

下面的程序写


<html><body>Hello <script>[{"A":"foo","B":"bar"},{"A":"bar","B":"baz"}]</script></body></html>

因为<script>-Tag (它执行一些 JavaScript JSON 到字符串编码)。如果没有<script>-Tag,我怎么能得到同样的结果?。那就是:我想写


t, err := template.New("foo").Parse("<html><body>Hello <pre>{{.}}</pre></body></html>\n")

并得到


<html><body>Hello <pre>[{"A":"foo","B":"bar"},{"A":"bar","B":"baz"}]</pre></body></html>

背部?我已经| ...在模板包中看到了上下文的语法,但是我应该使用哪个上下文?


package main


import (

    "html/template"

    "log"

    "os"

)


func main() {


    type keyvalue struct {

        A, B string

    }


    a := []keyvalue{{"foo", "bar"}, {"bar", "baz"}}


    t, err := template.New("foo").Parse("<html><body>Hello <script>{{.}}</script></body></html>\n")

    if err != nil {

        log.Fatal(err)

    }

    err = t.ExecuteTemplate(os.Stdout, "foo", a)

    if err != nil {

        log.Fatal(err)

    }

}

背景:我需要为X-Editable JavaScript library生成一个 HTML 属性,如下所示:source="[{value: 1, text: 'text1'}, {value: 2, text: 'text2'}, ...]"


BIG阳
浏览 247回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go