一,讲解一

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. bzoj 4872: [Shoi2017]分手是祝愿 [期望DP]

    4872: [Shoi2017]分手是祝愿 题意:n个灯开关游戏,按i后i的约数都改变状态.随机选择一个灯,如果当前最优策略\(\le k\)直接用最优策略.问期望步数\(\cdot n! \mod ...

  2. qt中的tcp编程

    server .server.h #define DIALOG_H #include <QDialog> #include <QTcpServer> #include < ...

  3. python函数4种类型及函数生成帮助文档

    Pyouthon中函数参数是引用传递(注意不是值传递). 对于不可变类型,因变量不能修改,所以运算不会影响到变量自身: 而对于可变类型来说,函数体中的运算有可能会更改传入的参数变量. a += a   ...

  4. 【Tools】ubuntu虚拟机Vmware Tools 安装记录

    1.下载VmwareTools 链接: https://pan.baidu.com/s/1c4baji4 密码: h3si 2.终端打开下载文件位置 cd /home/ubuntu/Downloads ...

  5. bzoj2876 [NOI2012]骑行川藏(拉格朗日乘数法)

    题目描述 蛋蛋非常热衷于挑战自我,今年暑假他准备沿川藏线骑着自行车从成都前往拉萨.川藏线的沿途有着非常美丽的风景,但在这一路上也有着很多的艰难险阻,路况变化多端,而蛋蛋的体力十分有限,因此在每天的骑行 ...

  6. 前端小白的gulp入门

    gulp新手入门 全局安装 cnpm install -g gulp 本地安装cnpm install gulp -D 如果项目没有package.json,记得npm init 安装插件cnpm i ...

  7. centos 环境变量配置

    CentOS系统下如何将PHP和mysql命令加入到环境变量中,在Linux CentOS系统上 安装完php和MySQL后,为了使用方便,需要将php和mysql命令加到系统命令中,如果在没有添加到 ...

  8. Mysql(二):库操作

    一 系统数据库 information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息.列信息.权限信息.字符信息等performance_schema: MyS ...

  9. 解决react-router4在browserhistory路由下的nginx的白屏或者404问题

    使用react-router,官方推荐用browserhistory,美观简洁.但是nginx服务器端的配置也让人头疼. 首先看官方举例的方法: server { location / { try_f ...

  10. ASP.NET Core的身份认证框架IdentityServer4--(4)添加第三方快捷登录

    添加对外部认证的支持 接下来我们将添加对外部认证的支持.这非常简单,因为你真正需要的是一个兼容ASP.NET Core的认证处理程序. ASP.NET Core本身也支持Google,Facebook ...