1 Star 0 Fork 0

leonxiong/http

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
template.go 1.07 KB
一键复制 编辑 原始数据 按行查看 历史
leonxiong 提交于 2024-12-07 17:28 . upload source
package xhttp
import (
"bytes"
"html/template"
)
type ECTemplate struct {
env map[string]interface{}
outBuffer *bytes.Buffer
}
func NewECTemplate() *ECTemplate {
tp := new(ECTemplate)
tp.init()
return tp
}
func (me *ECTemplate) init() {
me.env = make(map[string]interface{})
}
func (me *ECTemplate) SetVar(name string, value interface{}) {
if me.env == nil {
me.env = make(map[string]interface{})
}
me.env[name] = value
}
func (me *ECTemplate) RunFiles(filename ...string) error {
me.outBuffer = nil
t, err := template.ParseFiles(filename...)
if err != nil {
return err
}
outBuf := new(bytes.Buffer)
me.outBuffer = outBuf
err = t.Execute(outBuf, me.env)
return err
}
func (me *ECTemplate) RunBuffer(text string) error {
me.outBuffer = nil
t, err := template.New("page").Parse(text)
if err != nil {
return err
}
outBuf := new(bytes.Buffer)
me.outBuffer = outBuf
err = t.Execute(outBuf, me.env)
return err
}
func (me *ECTemplate) GetBuffer() []byte {
if me.outBuffer != nil {
return me.outBuffer.Bytes()
} else {
return make([]byte, 0)
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/xlm516/http.git
git@gitee.com:xlm516/http.git
xlm516
http
http
master

搜索帮助