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() }

    结果

     

  • 相关阅读:
    获取exe和dll里面的资源
    [C++] 反编译器
    再一次利用with as 优化SQL
    编码指南:寻找科学中的艺术
    对手机支付安全机制的思考
    用adblock过滤页面上固定位置的悬浮窗
    git卡在Resolving deltas 100%的解决办法
    十字路口的程序员
    hdu 2555
    hdu 1864
  • 原文地址:https://www.cnblogs.com/yingger/p/13375913.html
Copyright © 2011-2022 走看看