FreeMarker模板开发语句

模板开发语句

1.最简单的模板是普通 HTML 文件(或者是其他任何文本文件—FreeMarker 本身不属于HTML)。当客户端访问页面时,FreeMarker 要发送 HTML 代码至客户端浏览器端显示。如果想要页面动起来,就要在 HTML 中放置能被 FreeMarker 所解析的特殊部分。

2.${…}:FreeMarker 将会输出真实的值来替换花括号内的表达式,这样的表达式被称为interpolations 插值,可以参考第上面示例的内容。

3.Comments 注释:FreeMarker 的注释和 HTML 的注释相似,但是它用<#–和–>来分隔的。任何介于这两个分隔符(包含分隔符本身)之间内容会被 FreeMarker 忽略,就不会输出出来了。

4.directives指令:就是所指的 FTL 标签。这些指令在 HTML 的标签(如<table>和</table>)和 HTML 元素(如 table 元素)中的关系是相同的。(如果现在你还不能区分它们,那么把“FTL 标签”和“指令”看做是同义词即可。)

if指令

root.put("random", new Random().nextInt(100));

if语句测试:(if为真显示里面的内容“是男的”,为假则不显示)

${user}是<#if user=="tom">是男的</#if>

if else 语句测试:

<#if num1 gt 18>  <#--不是使用>,大部分时候,freemarker会把>解释成标签结束! -->
    及格!
<#else>
    不及格!
</#if>

if else if else语句测试:

<#if random gte 90>
    优秀!
<#elseif random gte 80>
    良好!
<#else>
    一般! 
</#if>

list指令

    List list = new ArrayList();
    list.add(new Address("中国","北京"));
    list.add(new Address("中国","上海"));
    list.add(new Address("美国","纽约"));
    root.put("lst", list);

测试list指令:

<#list lst as dizhi >
    <b>${dizhi.country}</b> <br/>
</#list>

控制台打印:
测试list语句:

    <b>中国</b> <br/>
    <b>中国</b> <br/>
    <b>美国</b> <br/>

include指令

文件内容如下:

模板文件中代码如下:
测试include指令:

<#include "included.txt" />

自定义指令(macro指令)

<#macro m1>   <#--定义指令m1 -->
    <b>aaabbbccc</b>
    <b>dddeeefff</b>
</#macro>
<@m1 /><@m1 />  <#--调用上面的宏指令 -->

定义带参的宏指令:

<#macro m2 a b c >
    ${a}--${b}--${c}
</#macro>
<@m2 a="tom" b="jack" c="jons" />

nested指令:

<#macro border> 
  <table border=4 cellspacing=0 cellpadding=4><tr><td> 
    <#nested> 
  </td></tr></table> 
</#macro>
<@border >表格中的内容!</@border>

java代码中定义的Map为:

        Map map = new HashMap();
        map.put("user", "tom");
        map.put("url", "www.baidu.com");
        map.put("name", "百度");
        map.put("random", new Random().nextInt(100));
        map.put("num1", 100);

以上控制台打印的情况为:

1.tom是男的

2.tom成绩为:  
    及格!

3.44    一般! 

4.

    <b>aaabbbccc</b>
    <b>dddeeefff</b>

5.

    tom--jack--jons

6.

  <table border=4 cellspacing=0 cellpadding=4><tr><td> 
表格中的内容!  </td></tr></table> 
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值