Response
支持模板文件/内容解析输出,或者模板文件/内容解析返回。与直接使用模板对象解析模板功能不同的是,Response
的解析支持一些请求相关的内置变量。模板解析包含以下方法:
WriteTpl*
方法用于模板输出,解析并输出模板文件,也可以直接解析并输出给定的模板内容。ParseTpl*
方法用于模板解析,解析模板文件或者模板内容,返回解析后的内容。
解析模板时组件底层会自动通过Request
对象获取当前链路的Context
上下文变量并传递给模板引擎,因此开发者不用显示给模板引擎传递Context
上下文变量。
内置变量
访问默认的配置管理(config.toml
)对象配置项。
使用方式:
{{.Config.配置项}}
使用方式:
{{.Cookie.键名}}
访问当前请求的Session
对象参数值。
使用方式:
Query
访问当前Query String
中的请求参数值。
访问当前表单请求参数值。
使用方式:
{{.Form.键名}}
Request
访问当前请求参数值(不区分参数提交方式)。
使用方式:
使用示例
package main
import (
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/net/ghttp"
func main() {
s := g.Server()
s.BindHandler("/", func(r *ghttp.Request){
r.Session.Set("name", "john")
content :=`Config:{{.Config.redis.cache}}, Cookie:{{.Cookie.theme}}, Session:{{.Session.name}}, Query:{{.Query.name}}`
r.Response.WriteTplContent(content, nil)
})
s.SetPort(8199)
s.Run()
}
# Redis数据库配置
[redis]
cache = "127.0.0.1:6379,1"
执行后,访问 ,输出结果为: