zoukankan      html  css  js  c++  java
  • 使用模板

    1. 簡述:
      所謂的模板就是一個頁面的結構,然後依據不同的數據顯示不同的內容.舉個不太恰當的例子就是: 模板是一張成績單,每個人的成績就是上面的數據,因為每個人的成績不同,所以每個人看到的成績單也不同,但是成績單的基本格式依舊是一樣的.
      模板文件一般一.tmpl,.tpl作為後綴,也可以使用.html--除了模板的語法外,在佈局上的語法和html也是一樣的.

    2. 使用模板的步驟:
      使用模板一共分為三個步驟:

      1. 編寫模板: 按照需求,編寫模板文件,也就是需要呈現的頁面.
      2. 解析模板: 用go提供的函數解析模板--將編寫的模板文件傳入到適當的函數當中.
      3. 渲染模板: 將需要顯示的數據傳遞到模板當中,替換原本的佔位符--簡單來說就是文本替換.
    3. 一個簡單的小例子:
      首先定義一個模板文件index.html,其具體的語法我會在後面的文章解釋:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    </head>
    <body>
        <h1>這個是使用模板文件渲染的結果</h1>
        {{/*下面的{{.Name}}等均是從外界接受的參數佔位符,儅參數傳入之後就會替代其,其餘部分則按照原本的模樣輸出,不做改變**/}}
        <p>Name: {{.Name}} </p>
        <p>Sex: {{.Sex}} </p>
        <p>Age: {{.Age}} </p>
    </body>
    </html>
    

    main.go當中引入模板,並傳遞參數:

    package main
    import (
        "fmt"
        "net/http"
        "text/template"
    )
    type Info struct {
        Name string
        Sex  string
        Age  int
    }
    func homePage(w http.ResponseWriter, r *http.Request) {
        // 解析模板,傳入的參數就是模板的路徑
        tmpl, err := template.ParseFiles("./home.tmpl")
        if err != nil {
            fmt.Println("page is err!")
            return
        }
        // 隨便定義一個需要傳遞的數據
        people := Info{
            Name: "張三",
            Sex:  "♂",
            Age:  13,
        }
        // 渲染模板,將參數傳遞給模板,並期待其中的佔位符。
        // 第一個參數必須是w,而第二個參數就是需要傳遞的數據。
        tmpl.Execute(w, people)
    }
    
    func main() {
        http.HandleFunc("/", homePage)
        err := http.ListenAndServe(":8080", nil)
        if err != nil {
            fmt.Println("page not found!!")
            return
        }
    }
    
  • 相关阅读:
    logstash performance testing
    Elasticsearch ML
    jconsole远程监控logstash agent
    kafka总结
    cloudera learning8:MapReduce and Spark
    cloudera learning7:Hadoop资源管理
    cloudera learning6:Hadoop Security
    cloudera learning5:Hadoop集群高级配置
    查看硬件设备指令
    内存问题
  • 原文地址:https://www.cnblogs.com/ltozvxe/p/14543999.html
Copyright © 2011-2022 走看看