博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
freemark--宏定义
阅读量:3675 次
发布时间:2019-05-21

本文共 863 字,大约阅读时间需要 2 分钟。

Freemarker宏定义的用发:
宏是在模板中使用macro指令定义 
基本用法 :
宏是和某个变量关联的模板片断,以便在模板中通过用户定义指令使用该变量,
举例说明:
<#macro greet name>
     我的名字叫做${name}!  
</#macro>
以上为一个宏定义,
greet 表示为宏定义的一个变量
name   表示该宏定义的一个参数
使用该宏定义:
<@greet name="haha" />
在使用参数的时候要注意下面两点:
1、  使用的参数一定要事先定义;
2、  定义的参数在使用的时候一定要进行赋值,除非在创建macro的时候给参数默认值;
3、  参数所能赋予的值不一定是字符串,也可以是其他类型,还可以是一个预运算表达式
4、  在使用的时候,对参数赋值顺序不确定,可随意
5、  参数是局部变量,只能在宏定义中有效
 如果不满足上面任何一个,程序就会出错。
 嵌套内容
         在macro定义题中您可以嵌套内容,如:
                   <#macro border>
                            <table border=4>
                                     <tr><td><#nested></td></tr>
                            </table>
                   </#macro>
         在使用的时候可以在开始标记和结束标记中填充内容:
                   <@border>Hellow World</@border>
         这样就会输出以及Hellow World,使用<#nested>可以嵌套指令可以在宏定义体中多次调用。
         如果你使用了一个定义体中没有<#nested>嵌套指令的宏,而开始标记和结束标记中嵌套的又有内容,FreeMarker不会出现任何错误,但内容不会输出.
在ftl2中可以这样使用:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>freemark 测试</title>
</head>
<body>
<#include "example1.ftl" />
<@greet name="sss"></@greet>
</body>
</html>

转载地址:http://asobn.baihongyu.com/

你可能感兴趣的文章
字符串操作代码验证
查看>>
字符串转换
查看>>
正则表达式(上)
查看>>
json介绍
查看>>
借助bufio实现按行读取内容
查看>>
runtime.Gosched的使用
查看>>
无缓冲channel
查看>>
有缓冲channel
查看>>
Ticker的使用
查看>>
通过select实现斐波那契数列
查看>>
通过select实现斐波那契数列(画图)
查看>>
定时器停止
查看>>
分层模型介绍
查看>>
http协议和url介绍
查看>>
请求包和应答包简单介绍
查看>>
统计同成绩的学生人数
查看>>
最小年龄的3个职工
查看>>
Spring Data JPA介绍与Spring的整合
查看>>
Spring Data JPA 自定义Repository接口与子接口
查看>>
Java 对上传文件进行魔数校验
查看>>