How to include and execute HTML template?

Parse parses text as a template body for t. Named template definitions ({{define ...}} or {{block ...}} statements) in text define additional templates associated with t and are removed from the definition of t itself.

Execute applies a parsed template to the specified data object, writing the output to w. If an error occurs executing the template or writing its output, execution stops, but partial results may already have been written to the output writer. A template may be executed safely in parallel, although if parallel executions share a Writer the output may be interleaved.

Create test.html with below content: <html> <head> <title>Golang Template Example</title> </head> <body> <h1>Template Testing</h1> <p>Country is {{.Country}} </p> <p>City is {{.City}} </p> </body> </html>
package main
import (
    "fmt"
    "html/template"
    "net/http"	
)
const (
  Port = ":8080"
)
func serveStatic(w http.ResponseWriter, r *http.Request) {  
  t, err := template.ParseFiles("test.html")
    if err != nil {
        fmt.Println(err)
    }
    items := struct {
        Country string
        City string
    }{
        Country: "Australia",
        City: "Paris",
    }
    t.Execute(w, items)
}
func main() {
	http.HandleFunc("/",serveStatic)	
    http.ListenAndServe(Port, nil)
}
Now run url :http://localhost:8080/ in your browser and see the below content

Thanks for reading. Please leave your valuable feedback and comments.

* Required Fields

No questions yet. Be the first to ask the question!