пытается распечатать содержимое переменных данных на странице html:
package main
import (
"net/http"
"fmt"
"log"
"html/template"
)
var tpl *template.Template
func init(){
tpl= template.Must(template.ParseGlob("*.html"))
}
func main(){
http.HandleFunc("/", index)
http.HandleFunc("/process", processor)
http.ListenAndServe(":8080", nil)
}
func index(w http.ResponseWriter, r *http.Request){
tpl.ExecuteTemplate(w, "index.html",nil)
}
func processor(w http.ResponseWriter, r *http.Request){
if r.Method != "GET" {
http.Redirect(w,r,"/", http.StatusSeeOther)
return
}
data := r.FormValue("data")
fmt.Printf("%s",data)
err:=tpl.ExecuteTemplate(w, "processor.html", string(data))
if err != nil {
log.Fatalf("execution failed: %s", err)
}
//tpl.ExecuteTemplate(w, "processor.html",data)
}
вот html
<html>
<head>
<title>PROCESSOR</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<h1>{{.data}}</h1>
</body>
</html>
это то, что печатает моя оболочка:
poo2020/03/22 19:13:50 execution failed: template: processor.html:8:11: executing "processor.html" at <.data>: can't evaluate field data in type string
exit status 1
poo, являющееся содержимым данных (доказательство того, что я правильно получаю его с начальной страницы html. Проверил некоторые похожие проблемы, попытался использовать переменную $ data, но я получил ту же проблему .