简介
代码
main
package main
import (
"fmt"
"github.com/gin-gonic/gin"
"net/http"
"os"
"path/filepath"
)
func main() {
r := gin.Default()
r.LoadHTMLGlob("templates/*")
r.GET("/index/:content", func(context *gin.Context) {
context.HTML(http.StatusOK,"index.tmpl",gin.H{
"result":context.Param("content"),
})
})
_ = r.Run(":8081")
}
index.tmpl
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>{{.result}}</h1>
</body>
</html>
常见问题
-
上面代码如果用goland直接运行是会报错的,要么将templates/*改成绝对路径;再命令行使用go build main.go生成对应的exe然后运行;具体原因是因为使用goland生成的exe都存在C盘的用户文件夹下的\AppData\Local\Temp\GoLand下面;绝对路径会有问题
-
如果遇到重名的可以直接再tmpl文件中使用{{define “”}}指明唯一名称;例如:
{{define "templates/index.tepl"}} <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h1>{{.result}}</h1> </body> </html> {{end}}
- 模板可以使用html文件或者tmpl文件;结果都是一样的