利用golang的template模板包进行web开发

前端之家收集整理的这篇文章主要介绍了利用golang的template模板包进行web开发前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. package main
  2.  
  3. import (
  4. "fmt"
  5. "html/template"
  6. "net/http"
  7. "os"
  8. )
  9.  
  10. type Person struct {
  11. Name string
  12. Age int
  13. Emails []string
  14. Company string
  15. Role string
  16. }
  17.  
  18. type OnlineUser struct {
  19. User []*Person
  20. LoginTime string
  21. }
  22.  
  23. func Handler(w http.ResponseWriter,r *http.Request) {
  24. dumx := Person{
  25. Name: "zoro",Age: 27,Emails: []string{"dg@gmail.com","dk@hotmail.com"},Company: "Omron",Role: "SE"}
  26.  
  27. chxd := Person{Name: "chxd",Emails: []string{"test@gmail.com","d@hotmail.com"}}
  28.  
  29. onlineUser := OnlineUser{User: []*Person{&dux,&ch}}
  30.  
  31. //t := template.New("Person template")
  32. //t,err := t.Parse(templ)
  33. t,err := template.ParseFiles("tmpl.html")
  34. checkError(err)
  35.  
  36. err = t.Execute(w,onlineUser)
  37. checkError(err)
  38. }
  39.  
  40. func main() {
  41. http.HandleFunc("/",Handler)
  42. http.ListenAndServe(":8888",nil)
  43. }
  44.  
  45. func checkError(err error) {
  46. if err != nil {
  47. fmt.Println("Fatal error ",err.Error())
  48. os.Exit(1)
  49. }
  50. }
  51. ======================================
  52. <html>
  53. <head>
  54. </head>
  55. <body>
  56. <form action="/test" method="POST">
  57. {{with .User}}
  58. {{range .}}
  59. <input type="radio" name="test" value={{.Name}}/>{{.Name}}<br/>
  60. {{end}}
  61. {{end}}
  62. <input type="submit" value="submit"/>
  63. </form>
  64. </body>
  65. </html>

猜你在找的Go相关文章