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

    结果

     

  • 相关阅读:
    java连接oracle数据库调用存储过程实现分页查询(emp为例)
    git 记录
    Angular记录
    “nth-child”选择器的优先级高于伪类选择器“:hover”
    Angular获取父组件传值-set,get
    Vue3.0路由 -- 学习笔记
    Vue学习笔记
    java-关于List删除元素的出错问题
    CSS选择器-复合选择器
    Angular 路由返回
  • 原文地址:https://www.cnblogs.com/yingger/p/13375913.html
Copyright © 2011-2022 走看看