Render HTML trả về client
Đăng kí thư mục chứa các file HTML
router .LoadHTMLGlob ("view/*" )
Trong file HTML sẽ gọi đến các file CSS để style trang web. Các file CSS được để ở thư mục resources/css
router .Static ("/resources" , "./resources" )
GET request gửi đến / được xử lý bởi getHomePage : Truyền data vào file index.html rồi trả về client
type Club struct {
Name string
Year int
Nation string
}
func getHomePage (c * gin.Context ) {
var clubList = []Club {
{
Name : "Man Utd" ,
Year : 1879 ,
Nation : "England" ,
},
{
Name : "Juventus" ,
Year : 1894 ,
Nation : "Italy" ,
},
{
Name : "Bayern" ,
Year : 1901 ,
Nation : "Germany" ,
},
}
var data = gin.H {
"Name" : "Juan Mata" ,
"Age" : 30 ,
"CurrentClub" : "Man Utd" ,
"ClubList" : clubList ,
}
c .HTML (http .StatusOK , "index.html" , data )
}
router .GET ("/" , getHomePage )
File index.html chứa các logic xử lý đơn giản: If/Else , chạy vòng lặp range , render dữ liệu struct.
Tìm hiểu chi tiết hơn về HTML templates tại: https://curtisvermeeren.github.io/2017/09/14/Golang-Templates-Cheatsheet