FreeMarkerPPT课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

</#switch>
-
13
List指令
<#list sequence as item> ...
• [<#break>]
</#list>
说明:item是一个循环变量. item_index代表 索引号,是数值;item_has_next 用于判断 当前项之后是否还存在,是布尔型
-
14
List指令实例
<#list lsmenu as menu>
<a href="${url}${menu[0]}&isChangeMenu=Y">
<font class="text0">${menu[1]}</font>
</a>
<#if (menu_index + 1)%6=0>
${"<br>"}
-
3
应用实例
<html> <head> <title>Welcome!</title> </head> <body> <h1>Welcome ${user}!</h1> <p>Our latest product: <a href="${latestProduct.url}">${latestProduct.name}</a>! </body>
if, else, elseif switch, case, default, break list, break include import noparse compress escape, noescape assign global local setting User-defined directive (<@...>) macro, nested, return function, return flush stop ftl t, lt, rt nt attempt, recover visit, recurse, fallback
-
9
If指令
<#if condition> ... [<#elseif condition2> ... <#elseif condition3> ... ... <#else> ... ] </#if>
-
10
If指令实例
<#if x = 1>
x is 1
<#elseif x = 2>
</html>
-
4
应用实例
Request.setAttribute(“user”,user); latestProduct.setUrl(“products/greenmouse.html”); latestProduct.setName(“Big Joe”); Request.setAttribute(“latestProduct”, latestProduct);
<#case refValue2>
... <#break> ...
<#case refValueN>
... <#break>
<#default> ...
</#switch>
-
12
Switch指令实例
<#switch being.size>
<#case "small">
This will be processed if it is small
x is 2
<#elseif x = 3>
x is 3
<#elseif x = 4>
xຫໍສະໝຸດ Baiduis 4
<#else>
x is not 1 nor 2 nor 3 nor 4
</#if>
-
11
Switch指令
<#switch value>
<#case refValue1>
... <#break>
FreeMarker
优秀的模板引擎
-
1
FreeMarker特性
使用纯Java编写 能够生成各种文本:HTML、XML、RTF、
Java源代码等 可作为一个组件用于MVC模式的view层 数据+模板=输出
-
2
FreeMarker特性
与容器无关,不需要Servlet环境 可以应用于非Web应用程序环境 可以在模板中使用JSP标记库 强大的模板语言 通用数据模型 强大的XML处理能力 FreeMarker是免费的
-
5
应用实例
<html> <head> <title>Welcome!</title> </head> <body> <h1>Welcome Big Joe!</h1> <p>Our latest product: <a href="products/greenmouse.html">green mouse</a>! </body>
另外一种变量是sequences,和hashes类似,
只是不使用变量名字,而使用数字索引。如:
<#assign h = {"name":"mouse", "price":50}>
<#assign keys = h?keys>
<#list keys as key>
${key} = ${h[key]};
</#list>
-
7
Freemaker语法
${…}:
• FreeMarker会在输出时用实际值进行替代
FTL标记(FreeMarker模板语言标记):
• 类似于HTML标记,为了与HTML标记区分,用#开始(有些以@开始)
注释:
• 包含在<#--和-->(而不是<!--和-->)之间
-
8
Freemaker常用指令
<#break>
<#case "medium">
This will be processed if it is medium
<#break>
<#case "large">
This will be processed if it is large
<#break>
<#default>
This will be processed if it is neither
</html>
-
6
数据模型
类似于目录的变量称为hashes,包含保存下级 变量的唯一的查询名字
类似于文件的变量称为scalars,保存单值。
• scalars保存的值有两种类型:字符串(用引号括起, 可以是单引号或双引号)和数字
• 对scalars的访问从root开始,各部分用“.”分隔,如 animals.mouse.price
相关文档
最新文档