一,讲解一

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. 小甲鱼OD学习第11讲

    这次我们的任务是破解这个需要注册的软件,如下图所示 我们这次从字符串入手,我们查找 unregistered  字符串 然后我们在如下图的字符串下断点 然后我们来到断点处,我们观察到 地址为 0040 ...

  2. python爬虫(1)——urllib包

    人生苦短,我用python! 一.关于爬虫 鉴于我的windos环境使用命令行感觉非常不便,也懒得折腾虚拟机,于是我选择了一个折中的办法--Cmder.它的下载地址是:cmder.net Cmder是 ...

  3. php扩展开发实战教程(1)

    我的开发环境: Ubuntu16.04 apt方式安装的php5.6, apache,mysql等 由于我的本机用的是apt方式安装的php,所以我这里从头开始用最精简的方式,编译安装一个php5.4 ...

  4. WPF DataTriger 用法示例代码

    用法1: <DataGridTemplateColumn Header="{lex:LocText ExamineRoom}"> <DataGridTemplat ...

  5. CentOS 6下编译安装MySQL 5.6

    一:卸载旧版本 使用下面的命令检查是否安装有MySQL Server rpm -qa | grep mysql 有的话通过下面的命令来卸载掉 rpm -e mysql //普通删除模式 rpm -e ...

  6. 洛谷P4014 分配问题【最小/大费用流】题解+AC代码

    洛谷P4014 分配问题[最小/大费用流]题解+AC代码 题目描述 有 n 件工作要分配给 n 个人做.第 i 个人做第 j 件工作产生的效益为c ij. 试设计一个将 n 件工作分配给 n 个人做的 ...

  7. CENTOS6.6下mysql5.7.11的percona-xtrabackup安装与备份

    本文来自我的github pages博客http://galengao.github.io/ 即www.gaohuirong.cn Xtrabackup有两个主要的工具:xtrabackup.inno ...

  8. appium+Python 启动app(二)

    我们上步操作基本完成,下面介绍编写Python脚本启动app 打开我们pycharm新建.py文件 第一步:输入Python脚本代码: #coding=utf-8 from appium import ...

  9. iterator的romove方法的注意事项

    package cn.lonecloud.Iterator; import java.util.ArrayList; import java.util.Iterator; public class m ...

  10. java1环境与简介

    java1环境与简介   Ⅰ 个人简介 陈鹏 联系方式:15828682774 2012 年至今,从事软件开发 5 年. 1 年新加坡海外工作经历. 先后在民企.外企.创业公司做过开发. 熟悉 JAV ...