Apo*_*his 2 web-applications go
我知道我可以使用以下命令执行模板:
t.ParseFiles(name)
t.Execute(w, page)
Run Code Online (Sandbox Code Playgroud)
并用如下消息响应 500:
http.Error(w, err.Error(), http.StatusInternalServerError)
Run Code Online (Sandbox Code Playgroud)
但是我应该如何使用包含该消息的模板返回 500 呢?
小智 5
ResponseWriter.WriteHeader在执行模板之前调用:
WriteHeader 发送带有状态代码的 HTTP 响应标头。
如果未显式调用 WriteHeader,则第一次调用 Write 将触发隐式 WriteHeader(http.StatusOK)。
因此显式调用 WriteHeader 主要用于发送错误代码。
t.ParseFiles(name)
w.WriteHeader(http.StatusInternalServerError)
t.Execute(w, page)
Run Code Online (Sandbox Code Playgroud)
如果你查看 的源代码http.Error,你会发现它在做同样的事情。