<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                模板數據輸出 1)靜態模板數據輸出 通過簡單的指定beego.Controller.TplName模板文件,http response body將輸出模板文件對應的內容。 模板目錄 beego中默認的模板目錄是views,用戶可以把你的模板文件放到該目錄下,beego會自動在該目錄下的所有模板文件進行解析并緩存,開發模式下會每次重新解析,不做緩存。當然用戶可以通過如下的方式改變模板的目錄: beego.ViewsPath = "/myviewpath" 自動渲染 beego中用戶無需手動的調用渲染輸出模板,beego會自動的在調用玩相應的method方法之后調用Render函數,當然如果你的應用是不需要模板輸出的,那么你可以在配置文件或者在main.go中設置關閉自動渲染。 AutoRender 是否模板自動渲染,默認值為 true,對于 API 類型的應用,應用需要把該選項設置為 false,不需要渲染模板。 配置文件配置如下: autorender = true main.go文件中設置如下: beego.AutoRender = true 模板名稱 beego采用了Go語言內置的模板引擎,所有模板的語法和Go的一模一樣,至于如何寫模板文件,詳細的請參考模板教程。 用戶通過在Controller的對應方法中設置相應的模板名稱,beego會自動的在viewpath目錄下查詢該文件并渲染,例如下面的設置,beego會在admin下面找add.tpl文件進行渲染: this.TplName = "admin/user/index.tpl" 我們看到上面的模板后綴名是tpl,beego默認情況下支持tpl和html后綴名的模板文件,如果你的后綴名不是這兩種,請進行如下設置: beego.AddTemplateExt("你文件的后綴名") 當你設置了自動渲染,然后在你的Controller中沒有設置任何的TplName,那么beego會自動設置你的模板文件如下: c.TplNames = c.ChildName + "/" + c.Ctx.Request.Method + "." + c.TplExt 也就是你對應的Controller名字+請求方法名.模板后綴,也就是如果你的Controller名是AddController,請求方法是POST,默認的文件后綴是tpl,那么就會默認請求/viewpath/AddController/POST.tpl文件。 ~~~ |-- admin | |--controllers | `-- user.go ~~~ ~~~ package admin import ( "github.com/astaxie/beego" ) type UserController struct { beego.Controller } func (this *UserController) Index() { this.TplName = "admin/user/index.html" } ~~~ ~~~ |-- views | |--admin | |--user | `-- index.html ~~~ ~~~ <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <h3>this is view admin/user/index.html</h3> </body> </html> ~~~ 瀏覽器訪問: http://127.0.0.1:8080/admin/user/index 瀏覽器輸出: ~~~ this is view admin/user/index.html ~~~ 2)動態模板數據輸出 在web中大部分的內容是靜態的,只有少部分數據是動態的。為了復用模板的代碼,需要能夠把動態的數據插入到模板中,這需要特出的語法。 beego中模板通過{{}}包含需要被替換的字段,同時需要把要替換的內容添加到Controller的Data中,這樣Controller執行時會自動匹配渲染模板。 模板標簽 Go語言的默認模板采用了{{和}}作為左右標簽,但是我們有時候在開發中可能界面是采用了AngularJS開發,他的模板也是這個標簽,故而引起了沖突。在beego中你可以通過配置文件或者直接設置配置變量修改: ~~~ beego.TemplateLeft = "<<<" beego.TemplateRight = ">>>" ~~~ 模板數據 模板中的數據是通過在Controller中this.Data獲取的,所以如果你想在模板中獲取內容{{.Content}},那么你需要在Controller中如下設置: this.Data["Context"] = "value" 如何使用各種類型的數據渲染: ~~~ |-- admin | |--controllers | `-- user.go ~~~ ~~~ package admin import ( "github.com/astaxie/beego" ) type UserController struct { beego.Controller } func (this *UserController) Index() { // int控制器數據賦值 this.Data["int"] = 123456 // float控制器數據賦值 this.Data["float"] = 0.123456 // string控制器數據賦值 this.Data["string"] = "this type is string" // array控制器數據賦值 this.Data["array"] = [...]int{1, 2, 3, 4, 5, 6, 7, 8} // map控制器數據賦值 this.Data["map"] = map[string]string{"this": "type", "is": "map"} // slice控制器數據賦值 this.Data["slice"] = []string{"s", "l", "i", "c", "e"} // 結構體控制器數據賦值 type stu struct { Name string Age int } this.Data["struct"] = &stu{Name: "stu1", Age: 18} this.TplName = "admin/user/index.html" } ~~~ ~~~ |-- views | |--admin | |--user | `-- index.html ~~~ ~~~ <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> this is view admin/user/index.html <br/> int 數據模板渲染數據如下:{{.int}} <br/> float 數據模板渲染數據如下:{{.float}} <br/> string 數據模板渲染數據如下:{{.string}} <br/> array 數據模板渲染數據如下:<br/> {{range $key, $val := .array}} {{$key}} => {{$val}}<br/> {{end}} <br/> map 數據模板渲染數據如下:<br/> {{range $key, $val := .map}} {{$key}} => {{$val}}<br/> {{end}} {{.map.this}}=>{{.map.is}} <br/> slice 數據模板渲染數據如下:<br/> {{range $key, $val := .slice}} {{$key}} => {{$val}}<br/> {{end}} <br/> struct 數據模板渲染數據如下:<br/> the username is {{.struct.Name}}<br/> the age is {{.struct.Age}} <br/> </body> </html> ~~~ 瀏覽器訪問: http://127.0.0.1:8080/admin/user/index 瀏覽器返回: ~~~ this is view admin/user/index.html int 數據模板渲染數據如下:123456 float 數據模板渲染數據如下:0.123456 string 數據模板渲染數據如下:this type is string array 數據模板渲染數據如下: 0 => 1 1 => 2 2 => 3 3 => 4 4 => 5 5 => 6 6 => 7 7 => 8 map 數據模板渲染數據如下: is => map this => type type=>map slice 數據模板渲染數據如下: 0 => s 1 => l 2 => i 3 => c 4 => e struct 數據模板渲染數據如下: the username is stu1 the age is 18 ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看