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

    结果

     

  • 相关阅读:
    P1478 陶陶摘苹果(升级版)
    洛谷 P1008 三连击
    1412:二进制分类
    1411:区间内的真素数
    判断素数
    关于小数
    一本通题库1159斐波那契数列
    一本通题库1161转进制
    一本通题1051
    基础算法——数据排序——冒泡
  • 原文地址:https://www.cnblogs.com/yingger/p/13375913.html
Copyright © 2011-2022 走看看