FreeMarker入门实战教程

一、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

猜你喜欢

转载自xieke90.iteye.com/blog/2302962