zoukankan      html  css  js  c++  java
  • 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() }

    结果

     

  • 相关阅读:
    推荐谷歌浏览器12款常用的扩展
    推荐谷歌浏览器12款常用的扩展
    推荐VSCode12个比较实用的插件
    推荐VSCode12个比较实用的插件
    Linux中Shell循环结构for用法笔记
    django之上传图片
    django之中间件设置
    django之admin站点
    django之管理静态文件
    django之设置分页
  • 原文地址:https://www.cnblogs.com/yingger/p/13375913.html
Copyright © 2011-2022 走看看