第三章:Beego框架之Controller

1、基于beego的Controller 设计,只需要匿名组合 beego.Controller 就可以了,如下所示:

beego.Controller 拥有很多方法,其中包括 Init、Prepare、Post、Get、Delete、Head等 方法。我们可以通过重写的方式来实现这些方法,而我们上面的代码就是重写了 Get 方法。
我们可以通过各种方式获取数据,然后赋值到 this.Data 中,这是一个用来存储输出数据的 map,可以赋值任意类型的值,这里我们只是简单举例输出两个字符串。

最后一个就是需要去渲染的模板,this.TplName 就是需要渲染的模板,这里指定了 index.tpl,如果用户不设置该参数,那么默认会去到模板目录的 Controller/<方法名>.tpl 查找,例如上面的方法会去 maincontroller/get.tpl(文件、文件夹必须小写)。

用户设置了模板之后系统会自动的调用 Render 函数(这个函数是在 beego.Controller 中实现的),所以无需用户自己来调用渲染。

 

2、手动创建controller文件
文件名:test.go

package controllers

import (
	"github.com/astaxie/beego"
)

type TestController struct {
	beego.Controller
}

func (c *TestController) Test() {
	c.Ctx.WriteString("hello")
}


再router.go文件下新增路由
beego.Router("/test", &controllers.TestController{},"get:Test")   

 

posted on 2019-02-25 16:29  唯伊  阅读(438)  评论(0编辑  收藏  举报

导航