freemark--宏定义
来源:互联网 发布:外文期刊数据库检索 编辑:程序博客网 时间:2024/06/09 16:06
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>
宏是在模板中使用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>
0 0
- freemark--宏定义
- freemark 全局变量 定义 不生效
- freemark
- freemark
- freemark
- FreeMark
- freeMark
- freemark
- freemark
- freemark
- freemark建立自定义标记宏 <@
- [Freemark]freemark常用语法
- freemark语法
- freemark 基础知识
- freemark指南
- freemark 标签
- freemark语法
- freemark 笔记
- archlinux 安装ssh
- 邮件正文及其附件的发送的C++实现
- 矩阵分析 特征值分解 奇异值分解 PCA
- 如何使用Android Studio开发/调试Android源码
- 轻轻的来咯,那嘎的不行的走了
- freemark--宏定义
- QML基础——在C++程序中使用QML
- linux gdb 简单使用
- C语言线段树(4)___Mayor's posters(2528)
- 如何实现双缓冲
- 我们的爱行不行呀 不行就算啦
- Java数据类型和常用运算
- ngix
- tools:context=".MainActivity的作用