Golang 模板无法正常工作
Golang templating does not work properly
我的模板中有一个 if else 块。当 else if
为真时,它始终呈现为空,就好像 else
或 else if
不存在一样
这是我的模板
而且我正在使用 text/template
,因为 html/template
发送的页面完全是空的
//the template
<script>
{{if.PassChange}}
swal("{{.Lang.Success}}", "{{.Lang.PleaseLogin}}", "success")
{{end}}
{{if.UserExists}}
swal("{{.Lang.Fail}}", "{{.Lang.AlreadyMember}}", "error")
{{end}}
</script>
//rendering part
BasePath.Get("/", func(w http.ResponseWriter, r *http.Request) {
tpl.ExecResponse(w, struct{Lang map[string]string ; UserExists bool}{Lang:lang.GetLang(r),UserExists:true})
})
如果打印执行模板的错误,您会发现模板无法计算字段PassChange
。一种可能的修复方法是将 PassChange 字段添加到结构中。
tpl.ExecResponse(w, struct{PassChange bool; Lang map[string]string ; UserExists bool}{Lang:lang.GetLang(r),UserExists:true})
我的模板中有一个 if else 块。当 else if
为真时,它始终呈现为空,就好像 else
或 else if
不存在一样
这是我的模板
而且我正在使用 text/template
,因为 html/template
发送的页面完全是空的
//the template
<script>
{{if.PassChange}}
swal("{{.Lang.Success}}", "{{.Lang.PleaseLogin}}", "success")
{{end}}
{{if.UserExists}}
swal("{{.Lang.Fail}}", "{{.Lang.AlreadyMember}}", "error")
{{end}}
</script>
//rendering part
BasePath.Get("/", func(w http.ResponseWriter, r *http.Request) {
tpl.ExecResponse(w, struct{Lang map[string]string ; UserExists bool}{Lang:lang.GetLang(r),UserExists:true})
})
如果打印执行模板的错误,您会发现模板无法计算字段PassChange
。一种可能的修复方法是将 PassChange 字段添加到结构中。
tpl.ExecResponse(w, struct{PassChange bool; Lang map[string]string ; UserExists bool}{Lang:lang.GetLang(r),UserExists:true})