当前位置:K88软件开发文章中心网站服务器框架Revel → 文章内容

Revel 控制器概要

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-25 14:26:54

由 jinlunxue 创建,路飞 最后一次修改 2016-02-24 自定义Controller 是一个直接或间接嵌入了 *revel.Controller 的struct。典型用法:type AppController struct { *revel.Controller}*revel.Controller 在你自定义的struct中必须是第一个嵌入的类型revel.Controller 用于请求的上下文,包含了请求与响应数据,请到 the godoc 查看完整内容, 下面是一个定义 (以及辅助类型的定义):type Controller struct { Name string // 控制器名称, 比如: "Application" Type *ControllerType // 控制器类型描述 MethodType *MethodType // 控制器方法描述 AppController interface{} // 控制器实例 Request *Request Response *Response Result Result Flash Flash // 用户 cookie, 在请求之后清空 Session Session // Session, 保存在cookie中,签名。 Params *Params // URL和表单中的参数(包扩 multipart). Args map[string]interface{} // 每个请求的暂存空间 RenderArgs map[string]interface{} // 传递给模板的参数 Validation *Validation // 数据验证帮助器}// 统一的请求参数包装// 包括:// - URL 查询字符串// - Form 表单字段// - File 文件上传type Params struct { url.Values Files map[string][]*multipart.FileHeader}type Request struct { *http.Request ContentType string}type Response struct { Status int ContentType string Headers http.Header Cookies []*http.Cookie Out http.ResponseWriter}作为HTTP请求处理的一部分,Revel实例化一个控制器,设置所有revel.Controller嵌入的属性, 因此, Revel 不在请求之间共享实例,对于每个请求的处理,控制器都是独立的。

Revel 控制器概要