一、FreeMarker简介
FreeMarker 是一款模板引擎:即一种基于模板、用来生成输出文本(任何来自于 HTML格式的文本用来自动生成源代码)的通用工具。
FreeMarker 实际上是被设计用来生成 HTML 页面,尤其是通过实现了基于 MVC(Model?View Controller, 模型-视图-控制器)模式的 Java Servlet 应用程序。
?
二、FreeMarker常用指令
模板 + ?数据模型 = 输出
<1>、if指令使用示例
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>IF_Tag_Demo</title>
<meta http-equiv="Content-Type" content="text/html;" charset="UTF-8">
</head>
<body>
<#if x == 1>
x is 1
</#if>
<br/>
<#if x == 1>
x is 1
<#else>
x is not 1
</#if>
<br/>
<#if x == 1>
x is 1
<#elseif x == 2>
x is 2
<#elseif x == 3>
x is 3
</#if>
</body>
</html>
?<2>、switch指令使用示例
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Switch_Tag_Demo</title>
<meta http-equiv="Content-Type" content="text/html;" charset="UTF-8">
</head>
<body>
<#switch x>
<#case 1>
1
<#break>
<#case 2>
2
<#break>
<#case 3>
3
<#break>
<#default>
0
<#break>
</#switch>
</body>
</html>
?<3>、list指令使用示例
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>List_Tag_Demo</title>
<meta http-equiv="Content-Type" content="text/html;" charset="UTF-8">
</head>
<body>
<h1>${title}</h1><br/>
<table>
<tr>
<td>学号</td>
<td>姓名</td>
<td>性别</td>
</tr>
<#list students as s>
<tr>
<td>${s.no}</td>
<td>${s.name}</td>
<td>${s.sex}</td>
</tr>
</#list>
</table>
</body>
</html>
?<4>、assign指令使用示例
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Assign_Tag_Demo</title>
<meta http-equiv="Content-Type" content="text/html;" charset="UTF-8">
</head>
<body>
<#assign msg="世界你好!">
<h1>${msg}</h1>
</body>
</html>
?<5>、macro指令使用示例
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Macro_Tag_Demo</title>
<meta http-equiv="Content-Type" content="text/html;" charset="UTF-8">
</head>
<body>
<#-- 定义 -->
<#macro greet>
<font size="+2">世界你好!</font>
</#macro>
<#macro greet2 person>
<font size="+2">Hello ${person}!</font>
</#macro>
<#macro greet3 person color="black">
<font size="+2" color="${color}">Hello ${person}!</font>
</#macro>
<#macro border>
<table border=4 cellspacing=0 cellpadding=4>
<tr>
<td>
<#nested> <#-- 嵌套内容 -->
</td>
</tr>
</table>
</#macro>
<#-- 使用 -->
<@greet></@greet> <br>
<@greet2 person="xieke"/> <br>
<@greet3 person="xieke"/> <br>
<@greet3 person="xieke" color="red"/> <br>
<@border>The bordered text</@border>
</body>
</html>
? ?更多示例以及上述示例实际效果可以自行下载源代码查看,下载地址:http://pan.baidu.com/s/1jHEF6g2
?
?
?
原文:http://xieke90.iteye.com/blog/2302962