我有一个传递两个变量的控制器
func (a App) Page() revel.Result {
var g []*G
...
return c.Render(p, g)
}
在我的.html
我希望迭代g
。是否有可能在迭代中访问p?我无法管理。我的尝试看起来如下
{{range .g}}
... // print g related stuff
.p
{{end}}
并抛出can't evaluate field p in type *G
。
答案 0 :(得分:1)
Revel似乎正在使用Go的模板引擎,因此我猜你应该能够使用html/template
变量所允许的任何内容。
{{$p := .p}}
{{range .g}}
... // print g related stuff
{{$p}}
{{end}}
有关详细信息,请参阅文档https://golang.org/pkg/text/template/#hdr-Variables
请注意,如果好的,我现在明白了,Revel似乎从传递给p
不是地图中的键,而是结构的字段,我相信,由于未导出,您无法访问它。 Render
的参数名称中获取了模板中的名称。