zoukankan      html  css  js  c++  java
  • goweb4-嵌套模板

    嵌套模板

    模板可以嵌套使用其他的模板,这个嵌套的模板可以是单独的文件,也可以是用define来定义的。
    用define定义的模板语法:

    {{ define "文件名"}}
    内容
    {{end}}

    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>tmpl test</title>
    </head>
    <body>
        <h1>测试嵌套template语法</h1>
        <hr>
    <!--单独的模板-->
        {{template "ul.tmpl"}}
        <hr>
    <!--用define定义的模板-->
        {{template "ol.tmpl"}}
        <p>{{.Name}}</p>
    </body>
    </html>
    {{ define "ol.tmpl"}}
    <ol>
        <li>问题1</li>
        <li>问题2</li>
        <li>问题3</li>
    </ol>
    {{end}}
    

    ul.tmpl文件内容如下:

    <ul>
        <li>测试1</li>
        <li>测试2</li>
        <li>测试3</li>
    </ul>
    
    package main
    
    import (
    	"fmt"
    	"net/http"
    	"text/template"
    )
    type User struct {
    	Name   string //首字母大写,是对外暴露的,才能被调用,小写是不能被调用的
    	Gender string //
    	Age    int
    }
    func nestTemplate(w http.ResponseWriter, r *http.Request) {
    	//解析模板 必须子模版在后面
    	tmpl, err := template.ParseFiles("./t.tmpl", "./ul.tmpl")
    	if err != nil {
    		fmt.Println("create template failed, err:", err)
    		return
    	}
    	user := User{
    		Name:   "小王子",
    		Gender: "男",
    		Age:    18,
    	}
    //执行模板
    	tmpl.Execute(w, user)
    }
    func main() {
            //注册路由处理函数
    	http.HandleFunc("/hello", nestTemplate)
    	err := http.ListenAndServe(":9090", nil)
    	if err != nil {
    		fmt.Println("HTTP server failed,err:", err)
    		return
    	}
    }
    

    结果:

    所有博客均为自己学习的笔记。如有错误敬请理解。
  • 相关阅读:
    27:单词翻转
    c++自制锁机程序--两行代码
    19:字符串移位包含问题
    18:验证子串
    23:二维数组回形遍历
    Java获取程序或项目路径的常用方法
    java 、Android 提交参数转码问题
    java 上传图片 打水印
    使用getGenericSuperclass()和getActualTypeArguments()将DAO做成泛型
    zoj 1010 Area【线段相交问题】
  • 原文地址:https://www.cnblogs.com/tangtang-benben/p/15090218.html
Copyright © 2011-2022 走看看