Gin模板語法
前提提醒
- 由于有了前面template包的基礎,所以該筆記不再過多詳細分析
Gin框架啟動服務器
- 語法:
-
r:=gin.Default()
//獲取一個Engine變量 -
r.Get("網站路徑",handleFunc...)
//Get請求 -
r.Run(addr ...string)
//啟動服務器
-
模板解析
- 語法:
r.LoadHTMLFiles(...filename)
-
r.LoadHTMLGlob("./ginTemplates/**/*")
(正則表達式解析所有文件,"**"代表表示任意層級子目錄, *代表任意文件
模板渲染
-
語法:
-
r.Get("網站路徑",handleFunc...)
-
例子
r.GET("/posts/index", func(c *gin.Context) { c.HTML(http.StatusOK, "posts/index.tmpl", gin.H{ "title": "歡迎來到POSTS世界", "url": "<a href = 'http://localhost:9000/users/index'>USER世界</a>", }) })
-
遇到不同目錄下相同的文件如何加載和渲染
-
方法: 在
tmpl
模板中用define
關鍵字定義名字,再解析 -
例子:文章來源地址http://www.zghlxwxcb.cn/news/detail-641558.html
{{/*通過定義名字區(qū)分不同目錄下相同文件名的文件渲染和解析*/}} {{define "posts/index.tmpl"}}//<----主要是這里 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> {{/*加載css靜態(tài)文件需要在頭部連接*/}} <link rel="stylesheet" href="/xxx/index.css"> <title>Gin模板渲染</title> </head> <body> <script src = "/xxx/index.js"></script> <h1>{{.title}}</h1> <p>{{.url | safe}}</p> <p>{{hello}}</p> </body> </html> {{end}}
自定義函數(shù)
-
語法:
-
r.SetFuncMap(funcMap template.FuncMap)
//其內部包裝的是template.FuncMap
,所以原理一樣
-
-
注意:需要在模板解析前添加自定義函數(shù)
-
例子
r.SetFuncMap(template.FuncMap{ "safe": func(str string) template.HTML { return template.HTML(str) //強轉 }, "hello": func() string { return "hello" }, })
-
用法:
-
像是
safe
這種可以傳參的,可以通過"|"符號應用到某個字符中 -
例子:
//tmpl <p>{{.url | safe}}</p> //后端 r.GET("/posts/index", func(c *gin.Context) { c.HTML(http.StatusOK, "posts/index.tmpl", gin.H{ "title": "歡迎來到POSTS世界", "url": "<a href = 'http://localhost:9000/users/index'>USER世界</a>", }) })
- 這里的url會被轉義為
template.HTML
類型輸出到網頁中
- 這里的url會被轉義為
-
像
hello
這種只是傳文字的可以直接使用 -
例子:
//tmpl <p>{{hello}}</p> //后端 r.GET("/posts/index", func(c *gin.Context) { c.HTML(http.StatusOK, "posts/index.tmpl", gin.H{ "title": "歡迎來到POSTS世界", "url": "<a href = 'http://localhost:9000/users/index'>USER世界</a>", }) })
-
加載靜態(tài)文件
-
語法:
r.Static(參數(shù)1,參數(shù)2)
-
第一個參數(shù)"/xxx"表示在請求URL中使用的訪問前綴。 第二個參數(shù):為實際文件所在目錄的路徑*/
-
-
使用
-
在
css
中演示(其他基本一致)文章來源:http://www.zghlxwxcb.cn/news/detail-641558.html -
例子:
<link rel="stylesheet" href="/xxx/index.css"> //后端 r.Static("/xxx", "./statics")
- 這里的
/xxx
是請求URL中使用的訪問前綴 -
./statics
為文件目錄的路徑 -
/index.css
為目標文件的路徑
- 這里的
-
到了這里,關于Gin模板語法的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!