本文最后更新于 213 天前,其中的信息可能已经有所发展或是发生改变。如有疑问或错误请反馈至邮箱super.lucky.qu@gmail.com
模版
模版和数据交给模版引擎就会产生HTML页面
Go Web的模版属于无逻辑和嵌入逻辑之间
Go模版引擎的工作原理
在web应用中,通常由handler来触发模版引擎,然后handler调用模版引擎,把使用的模版传递给引擎,引擎生成HTML并将它写入到ResponseWriter,再将它加入HTTP响应中,返回给客户端
text/template 通用模版引擎
html/template HTML模版引擎
解析模板源(可以是字符串或模板文件),从而创建一个解析好的模板的 struct
执行解析好的模板,并传入 ResponseWriter 和 数据。
•这会触发模板引擎组合解析好的模板和数据,来产生最终的 HTML,并将它传递给 ResponseWriter
template.ParseFiles()返回两个值,一个指向模版的指针和一个错误
template.Execute接收两个值,第一个是http.ResponseWriter,第二个是输出的话
解析模版
ParseFiles
解析模版文件,创建一个解析好的模版结构体,后续可以被执行
调用后会创建一个新的模版,模版的名字是文件名
参数数量可变,但只返回一个模版
ParseGlob
模式匹配来解析特定文件
Parse可以解析字符串模版,其他方式最终都会调用它
Lookup方法,通过模版名来寻找模版,没有返回nil
Must函数可以包裹一个函数,返回到一个模版的指针和一个错误
错误不为nil就panic
Execute
- 参数是 ResponseWriter、数据
- 单模板:很适用
- 模板集:只用第一个模板
ExecuteTemplate
模板集:很适用
参数是:ResponseWriter、模板名、数据