freemarker自定义标签(二十一)
一,讲解一
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自定义标签(二十一)的更多相关文章
- freemarker自定义标签报错(二)
freemarker自定义标签 1.错误描述 freemarker.core.ParseException: Unexpected end of file reached. at freemarker ...
- freemarker自定义标签(二)
freemarker自定义标签 1.自定义标签 通过自定义标签,写一个重复指定字符串 2.实现源码 <html> <head> <meta http-equiv=&quo ...
- OneBlog开源博客-详细介绍如何实现freemarker自定义标签
前言 OneBlog中使用到了springboot + freemarker的技术,同时项目里多个controller中都需要查询一个公有的数据集合,一般做法是直接在每个controller的方法中通 ...
- freemarker自定义标签报错(六)
freemarker自定义标签 1.错误描述 freemarker.core.ParseException: Encountered "\"\u4f60\u597d\uff01\& ...
- freemarker自定义标签报错(五)
freemarker自定义标签 1.错误描述 六月 05, 2014 11:40:49 下午 freemarker.log.JDK14LoggerFactory$JDK14Logger error 严 ...
- freemarker自定义标签报错(四)
freemarker自定义标签 1.错误描述 六月 05, 2014 11:31:35 下午 freemarker.log.JDK14LoggerFactory$JDK14Logger error 严 ...
- freemarker自定义标签(一)
freemarker自定义标签 1.自定义标签说明 宏变量存储模板片段可以被用作自定义指令macro 2.示例说明 <html> <head> <meta http-eq ...
- freemarker自定义标签报错(三)
freemarker自定义标签 1.错误描述 freemarker.core.ParseException: Encountered " " at line 14, column ...
- freemarker自定义标签报错(一)
freemarker自定义标签 1.错误描述 freemarker.core.ParseException: Token manager error: freemarker.core.TokenMgr ...
随机推荐
- 小甲鱼OD学习第11讲
这次我们的任务是破解这个需要注册的软件,如下图所示 我们这次从字符串入手,我们查找 unregistered 字符串 然后我们在如下图的字符串下断点 然后我们来到断点处,我们观察到 地址为 0040 ...
- python爬虫(1)——urllib包
人生苦短,我用python! 一.关于爬虫 鉴于我的windos环境使用命令行感觉非常不便,也懒得折腾虚拟机,于是我选择了一个折中的办法--Cmder.它的下载地址是:cmder.net Cmder是 ...
- php扩展开发实战教程(1)
我的开发环境: Ubuntu16.04 apt方式安装的php5.6, apache,mysql等 由于我的本机用的是apt方式安装的php,所以我这里从头开始用最精简的方式,编译安装一个php5.4 ...
- WPF DataTriger 用法示例代码
用法1: <DataGridTemplateColumn Header="{lex:LocText ExamineRoom}"> <DataGridTemplat ...
- CentOS 6下编译安装MySQL 5.6
一:卸载旧版本 使用下面的命令检查是否安装有MySQL Server rpm -qa | grep mysql 有的话通过下面的命令来卸载掉 rpm -e mysql //普通删除模式 rpm -e ...
- 洛谷P4014 分配问题【最小/大费用流】题解+AC代码
洛谷P4014 分配问题[最小/大费用流]题解+AC代码 题目描述 有 n 件工作要分配给 n 个人做.第 i 个人做第 j 件工作产生的效益为c ij. 试设计一个将 n 件工作分配给 n 个人做的 ...
- CENTOS6.6下mysql5.7.11的percona-xtrabackup安装与备份
本文来自我的github pages博客http://galengao.github.io/ 即www.gaohuirong.cn Xtrabackup有两个主要的工具:xtrabackup.inno ...
- appium+Python 启动app(二)
我们上步操作基本完成,下面介绍编写Python脚本启动app 打开我们pycharm新建.py文件 第一步:输入Python脚本代码: #coding=utf-8 from appium import ...
- iterator的romove方法的注意事项
package cn.lonecloud.Iterator; import java.util.ArrayList; import java.util.Iterator; public class m ...
- java1环境与简介
java1环境与简介 Ⅰ 个人简介 陈鹏 联系方式:15828682774 2012 年至今,从事软件开发 5 年. 1 年新加坡海外工作经历. 先后在民企.外企.创业公司做过开发. 熟悉 JAV ...