Golang Web下返回HTML內容處理方法


有兩種顯示方式,都是一樣的,假設我們的方法就叫say,兩種調用如下:

{{ say "<div style=\"\">你好</div>" }}
{{"<div style=\"\">你好</div>" |say}}

 

 master是主模板


如果我們要在模板中和頁面中都要做這種處理,我們見下面的代碼
主模板代碼
<!DOCTYPE html>
<html>
<head>
</head>
<body>
     <p>模板上面內容</p> {{block "context" .}}{{end}} <p>模板下面內容</p> {{ say "<div style=\"background-color:red;\">你好</div>" }} </body>
</html>

頁面內容

{{template "master" .}} {{define "context"}} {{"<div style=\"background-color:red;\">你好</div>" |say}} {{.}} <p>user內容</p> {{end}}

在模板中和頁面中都 顯示HTML內容,我們可以通過template.New().Funcs() 設置 一個處理方法

見Main()代碼

package main import ( "github.com/gin-gonic/gin"
    "html/template"
    "log" ) // 通過該方法可以將內容以HTML的形式輸出,返回類型為template.HTML
func say(s string) template.HTML { return template.HTML(s) } func main(){
engin:=gin.Default() engin.GET(
"/user", func(context *gin.Context) { // 設定funcMap funcMap:=template.FuncMap{"say":say,} // 創建模板並加入設置FuncMap t,err:= template.New("user").Funcs(funcMap).ParseFiles("./view/template/master", "./view/user/user") if err!=nil{ log.Panicln("template.funcs err:",err) } t.ExecuteTemplate(context.Writer,"user","中間內容") }) engin.Run() }

結果

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM