Golang Passing Complex data to HTML tutorial # 6
Golang Passing Complex data to HTML tutorial # 6
Golang File
<div> <div>package main</div> <div>import (</div> <div> "html/template"</div> <div> "net/http"</div> <div>)</div> <div>func main() {</div> <div> type productSpecs struct {</div> <div> Size float64</div> <div> Weight float64</div> <div> Desc string</div> <div> }</div> <div> type product struct {</div> <div> Category string</div> <div> Name string</div> <div> Price float64</div> <div> Date string</div> <div> SKU string</div> <div> Specs productSpecs</div> <div> }</div> <div> data := product{</div> <div> Category: "Health",</div> <div> Name: "Tuber",</div> <div> Price: 22.22,</div> <div> Date: "02-02-3029",</div> <div> SKU: "32",</div> <div> Specs: productSpecs{</div> <div> Size: 22.0,</div> <div> Weight: 30.0,</div> <div> Desc: "Here is my product desc",</div> <div> },</div> <div> }</div> <div> tmpl, _ := template.ParseGlob("templates/*.html")</div> <div> http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {</div> <div> tmpl.ExecuteTemplate(w, "index.html", data)</div> <div> })</div> <div> http.ListenAndServe(":8080", nil)</div> <div>}</div> </div>
HTML TEMPLATE FILE
<div> <div><html lang="en"></div> <div><head></div> <div> <meta charset="UTF-8"></div> <div> <meta http-equiv="X-UA-Compatible" content="IE=edge"></div> <div> <meta name="viewport" content="width=device-width, initial-scale=1.0"></div> <div> <title>GOLANG INDEX HTML</title></div> <div></head></div> <div><body></div> <div> <h1>INDEX HTML PAGE</h1></div> <div> Category <b>{{.Category}}</b><br/></div> <div> Name <b>{{.Name}}</b><br/></div> <div> Price <b>{{.Price}}</b><br/></div> <div> Date <b>{{.Date}}</b><br/></div> <div> SKU <b>{{.SKU}}</b><br/></div> <div> Specs-> <br/></div> <div> Size <b>{{.Specs.Size}}</b><br/></div> <div> Weight <b>{{.Specs.Weight}}</b><br/></div> <div> Desc <b>{{.Specs.Desc}}</b><br/></div> <div></body></div> <div></html></div> </div>