<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 功能強大 支持多語言、二開方便! 廣告
                # controller 邏輯 前面我們了解了如何把用戶的請求分發到控制器,這小節我們就介紹大家如何來寫控制器,首先我們還是從源碼分析入手: ``` package controllers import ( "github.com/astaxie/beego" ) type MainController struct { beego.Controller } func (this *MainController) Get() { this.Data["Website"] = "beego.me" this.Data["Email"] = "astaxie@gmail.com" this.TplName = "index.tpl" } ``` 上面的代碼顯示首先我們聲明了一個控制器 `MainController`,這個控制器里面內嵌了 `beego.Controller`,這就是 Go 的嵌入方式,也就是 `MainController` 自動擁有了所有 `beego.Controller` 的方法。 而 `beego.Controller` 擁有很多方法,其中包括 `Init`、`Prepare`、`Post`、`Get`、`Delete`、`Head` 等方法。我們可以通過重寫的方式來實現這些方法,而我們上面的代碼就是重寫了 `Get` 方法。 我們先前介紹過 beego 是一個 RESTful 的框架,所以我們的請求默認是執行對應 `req.Method` 的方法。例如瀏覽器的是 `GET` 請求,那么默認就會執行 `MainController` 下的 `Get` 方法。這樣我們上面的 Get 方法就會被執行到,這樣就進入了我們的邏輯處理。(用戶可以改變這個行為,通過注冊自定義的函數名,更加詳細的請參考[路由設置](../mvc/controller/router.md)) 里面的代碼是需要執行的邏輯,這里只是簡單的輸出數據,我們可以通過各種方式獲取數據,然后賦值到 `this.Data` 中,這是一個用來存儲輸出數據的 map,可以賦值任意類型的值,這里我們只是簡單舉例輸出兩個字符串。 最后一個就是需要去渲染的模板,`this.TplName` 就是需要渲染的模板,這里指定了 `index.tpl`,如果用戶不設置該參數,那么默認會去到模板目錄的 `Controller/<方法名>.tpl` 查找,例如上面的方法會去 `maincontroller/get.tpl` ***(文件、文件夾必須小寫)***。 用戶設置了模板之后系統會自動的調用 `Render` 函數(這個函數是在 beego.Controller 中實現的),所以無需用戶自己來調用渲染。 當然也可以不使用模版,直接用 `this.Ctx.WriteString` 輸出字符串,如: ``` func (this *MainController) Get() { this.Ctx.WriteString("hello") } ``` 至此我們的控制器分析基本完成了,接下來讓我們看看如何來編寫 model。 [model 邏輯](model.md)
                  <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>

                              哎呀哎呀视频在线观看