1.beego默认输出标签更改{{}}
1.1在配置文件中修改
1.2也可以在main函数中修改
修改后{{}}会失效
2.模板中绑定数据结构体
第一部分出现的是控制器里面的代码,下面的都是
//2.模板中绑定数据结构体
article:=Article{
"我是教程",
"我是项目",
}
c.Data["article"]=article
{{.article.Title}}
{{.article.Content}}
<h2>模板中自定义变量</h2>
{{$xxx := .title}}
{{$xxx}}
<!--这里的$是i自定义变量的意思-->
3.模板中绑定切片数据
c.Data["sliceList"]=[]string{"php","java","golang"}
{{range $key,$val:=.sliceList}}
<li>{{$key}}--{{$val}}</li>
{{end}}
</ul>
4.模板中绑定map数据
userinfo:=make(map[string]interface{})
userinfo["username"]="张三"
userinfo["age"]=20
userinfo["sex"]="男"
c.Data["userinfo"]=userinfo
<ul>
{{range $key,$val:=.userinfo}}
<li>{{$key}}---{{$val}}</li>
{{end}}
</ul>
5.模板中循环遍历结构体类型的切片(用的非常多,必须会)
//5.结构体类型的切片另一种方法遍历,结构体类型的另一种写法,匿名结构体!!!!
/*
struct{
Title string
}
匿名结构体,他就是一个类型
*/
c.Data["cmsList"]=[]struct{
Title string
}{
{
Title: "新闻111",
},
{
Title: "新闻222",
},
{
Title: "新闻333",
},
}
<ul>
{{range $key,$val:=.articleList}}
<li>
{{$key}}--{{$val.Title}}----{{$val.Content}}
</li>
{{end}}
</ul>
6.结构体类型的切片另一种方法遍历
<ul>
{{range $key,$val:=.cmsList}}
<li>
{{$key}}--{{$val.Title}}
</li>
{{end}}
</ul>
7.模板中条件判断
//模板中条件判断
c.Data["isLogin"]=true
c.Data["isHome"]=true
c.Data["isAbout"]=true
c.TplName="index.tpl"
{{if.isLogin}}
<p>isLogin等于true</p>>
{{else if .isAbout}}
<p>isLogin等于false</p>>
{{end}}
8.模板中条件判断
c.Data["n1"]=6
c.Data["n2"]=12
eq:==
ne:!=
lt:<
le:<=
gt:>
ge:>=
{{if eq .n1 .n2 }}
<p>n1等于n2</p>>
{{else}}
<p>n1不等于n2</p>>
{{end}}
9.define自定义模板
{{define "aaaa"}}
<h4>这是一个自定义的代码块</h4>
<p>111</p>
<p>22222222222222</p>
{{end}}
<!--千万不要忘记点点!!!!!!-->
{{template "aaaa" .}}
{{template "aaaa" .}}
{{template "aaaa" .}}
10.模板的引入
{{template "/public/header.html" }}
<!--如果需要在字模板里面渲染后台的数据,那么引入模板的时候一定要在后面加一个空格加一个.,这个点可以理解为继承-->
{{template "/public/footer.html" .}}