一,讲解一

1、自定义标签说明

宏变量存储模板片段可以被用作自定义指令macro

2、示例说明

 <html>
   <head>
     <meta http-equiv="content-type" content="text/html; charset=UTF-8">
     <title>freemarker自定义标签</title>

   </head>

   <body>
      <#--freemarker自定义标签-->
      <#macro write>
          repeat("张三丰",3)
      </#macro>

      <@write/>
   </body>
 </html>

3、示例结果

 <html>
   <head>
     <meta http-equiv="content-type" content="text/html; charset=UTF-8">
     <title>freemarker自定义标签</title>

   </head>

   <body>

          repeat("张三丰",3)
   </body>
 </html>

二,讲解二

1、自定义标签

通过自定义标签,写一个重复指定字符串

2、实现源码

 <html>
   <head>
     <meta http-equiv="content-type" content="text/html; charset=UTF-8">
     <title>freemarker自定义标签</title>

   </head>

   <body>
      <#--freemarker自定义标签-->
      <#macro repeat nums=40 name="你好">
           <#list 1..nums as n>
                <h1>张三,${name}${n}</h1>
           </#list>
      </#macro>

      <@repeat/>
   </body>
 </html>

3、实现结果

 <html>
   <head>
     <meta http-equiv="content-type" content="text/html; charset=UTF-8">
     <title>freemarker自定义标签</title>

   </head>

   <body>

                <h1>张三,你好1</h1>
                <h1>张三,你好2</h1>
                <h1>张三,你好3</h1>
                <h1>张三,你好4</h1>
                <h1>张三,你好5</h1>
                <h1>张三,你好6</h1>
                <h1>张三,你好7</h1>
                <h1>张三,你好8</h1>
                <h1>张三,你好9</h1>
                <h1>张三,你好10</h1>
                <h1>张三,你好11</h1>
                <h1>张三,你好12</h1>
                <h1>张三,你好13</h1>
                <h1>张三,你好14</h1>
                <h1>张三,你好15</h1>
                <h1>张三,你好16</h1>
                <h1>张三,你好17</h1>
                <h1>张三,你好18</h1>
                <h1>张三,你好19</h1>
                <h1>张三,你好20</h1>
                <h1>张三,你好21</h1>
                <h1>张三,你好22</h1>
                <h1>张三,你好23</h1>
                <h1>张三,你好24</h1>
                <h1>张三,你好25</h1>
                <h1>张三,你好26</h1>
                <h1>张三,你好27</h1>
                <h1>张三,你好28</h1>
                <h1>张三,你好29</h1>
                <h1>张三,你好30</h1>
                <h1>张三,你好31</h1>
                <h1>张三,你好32</h1>
                <h1>张三,你好33</h1>
                <h1>张三,你好34</h1>
                <h1>张三,你好35</h1>
                <h1>张三,你好36</h1>
                <h1>张三,你好37</h1>
                <h1>张三,你好38</h1>
                <h1>张三,你好39</h1>
                <h1>张三,你好40</h1>
   </body>
 </html>

三,讲解三nested指令

1、nested指令

是可选的,可以在<#macro>和</#macro>之间使用在任何位置和任意次数

2、示例说明

 <#macro tag>
           <#nested/>
      </#macro>

      <@tag>
          <ul>
            <li>1</li>
            <li>2</li>
            <li>3</li>
            <li>4</li>
            <li>5</li>
          </ul>
      </@tag>

3、运行结果

 <ul>
            <li>1</li>
            <li>2</li>
            <li>3</li>
            <li>4</li>
            <li>5</li>
          </ul>

freemarker自定义标签(二十一)的更多相关文章

  1. freemarker自定义标签报错(二)

    freemarker自定义标签 1.错误描述 freemarker.core.ParseException: Unexpected end of file reached. at freemarker ...

  2. freemarker自定义标签(二)

    freemarker自定义标签 1.自定义标签 通过自定义标签,写一个重复指定字符串 2.实现源码 <html> <head> <meta http-equiv=&quo ...

  3. OneBlog开源博客-详细介绍如何实现freemarker自定义标签

    前言 OneBlog中使用到了springboot + freemarker的技术,同时项目里多个controller中都需要查询一个公有的数据集合,一般做法是直接在每个controller的方法中通 ...

  4. freemarker自定义标签报错(六)

    freemarker自定义标签 1.错误描述 freemarker.core.ParseException: Encountered "\"\u4f60\u597d\uff01\& ...

  5. freemarker自定义标签报错(五)

    freemarker自定义标签 1.错误描述 六月 05, 2014 11:40:49 下午 freemarker.log.JDK14LoggerFactory$JDK14Logger error 严 ...

  6. freemarker自定义标签报错(四)

    freemarker自定义标签 1.错误描述 六月 05, 2014 11:31:35 下午 freemarker.log.JDK14LoggerFactory$JDK14Logger error 严 ...

  7. freemarker自定义标签(一)

    freemarker自定义标签 1.自定义标签说明 宏变量存储模板片段可以被用作自定义指令macro 2.示例说明 <html> <head> <meta http-eq ...

  8. freemarker自定义标签报错(三)

    freemarker自定义标签 1.错误描述 freemarker.core.ParseException: Encountered " " at line 14, column ...

  9. freemarker自定义标签报错(一)

    freemarker自定义标签 1.错误描述 freemarker.core.ParseException: Token manager error: freemarker.core.TokenMgr ...

随机推荐

  1. CF 455D. Serega and Fun [分块 deque]

    Serega and Fun 题意: [l,r]循环右移一位,查询区间内某个数出现次数 为什么好多人用链表?反正我是不会写双向链表 完全可以分块然后模拟啊...中间的块只会插入删除一个元素呀....用 ...

  2. MUI体验框架

    1.      mui简介 1.1  缘起 1.基于jq的jqmobile,性能低的无法忍受,且UI难看 2.bootstrap这种响应式设计,性能在低端机不足,而且UI风格一看就是网页,不是App的 ...

  3. 【模板小程序】求M~N范围内的质数个数

    /* 本程序说明: [编程题] 求素数 时间限制:2秒 空间限制:32768K 输入M.N,1 < M < N < 1000000,求区间[M,N]内的所有素数的个数.素数定义:除了 ...

  4. Python 中的闭包

    通常来说,函数中的局部变量在函数调用结束的时候不能再被引用,所分配的空间也会被回收. 但是通过闭包这种技术,函数调用结束了,它的局部变量的值还可以保存在闭包里. 试举一例: def make_adde ...

  5. 共享表空间VS独立表空间

    基础概念:共享表空间 VS 独立表空间 [共享表空间] 又称为system tablespace系统表空间,a small set of data files (the ibdata files) . ...

  6. JS原生Ajax&Jquery的Ajax技术&Json

    1.介绍Ajax Ajax = 异步 JavaScript 和 XML Ajax是一种创建快速动态网页的技术 通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新.这意味着可以不用整个 ...

  7. JavaScript面向对象入门

    什么是JavaScript? 我们可以从几个方面去说JavaScript是什么: 基于对象 javaScript中内置了许多对象供我们使用[String.Date.Array]等等 javaScrip ...

  8. JS标签的各种事件的举例

    1.鼠标单击事件( onclick ) <!DOCTYPE HTML> <html> <head> <meta http-equiv="Conten ...

  9. java复习笔记

    本笔记(无异常处理与网络编程部分)整理自<java程序设计>-黄岚 王岩 王康平 编著 java数据     UI     I/O      java线程      数据库操作 Java数 ...

  10. 情景linux--如何摆脱深路径的频繁切换烦恼?

    情景 通常情况下,在linux系统上切换目录的成本很低,使用cd命令就可以了.如果需要在一个目录的不同的子目录和其父目录之间切换,进入到这个目录之后,再使用相对路径会比较方便.如果要切换的目录的路径较 ...