我的FreeMarker入门学习

原创 2013年12月04日 16:26:42

1Freemarker 与JSP的区别

1.1标签的使用一般以符号#开头(FTL标签)

 标签的使用一般以符号#开头。(用户自定义的FTL标签使用@符号来代替#).

  如:<#if>、<#list>

1.2${…}(插值)

 ${…} 输出一个变量值

1.3基础指令

 HTML一般基础指令比如判断、遍历等等都是用jsp控件.格式一般为:<for>

 Freemarker具有一些基础指令如判断、遍历等等.格式一般为:<# if>

1.3.1<#if>

  <#if user='admin'> admin </#if> 

   //user表示应用的变量:在指令中变量相当于'${}'

1.3.2<#list>

   <#list animals as being>

  //animals为集合,being为集合中某对象.这种类似Java的foreach

1.3.3<#include>

  <#include>跟jsp<%@include%>相似

1.3.4不存在的变量

   ●使用"!"+默认值:${user!"Anonymous"}  //相当于Java的三元运算.

   ●使用"??":<#if user??></#if> //用"??"询问是否是不存在变量,如果为true就

    不显示<#if>里信息.相当于Java的if(user!=null )   

1.4Fragment自带内建函数(?形式)

  内建函数提供始终可用的内置功能。内建函数以?形式提供变量的不同形式或者其他信息.如:${test?html},${test?upper_case?html}.

2自定义指令

2.1模板定义

2.1.1创建和使用宏(相当于创建对象)

     创建: <#macro greet>Hello</#marcro>

     使用: <@ greet/>

2.1.2使用参数(宏名称的后面位置用来定义变量,如果是多个变量用空格分隔)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

     创建:<#macro greet person>Hello ${person}</#macro>.

     使用:<@greet person="fred"/>

2.1.3嵌套内容(相当于调用方法)

    在创建宏中可以通过<#nested>嵌套内容,也就是把引入宏位置里的内容写到<#nested>位置.如:

   创建:<#macro greet person><table><#nested></table></#macro>

   使用:<@greet person='abs'><tr>123</tr></@greet>

   输出:<table><tr>123</tr><table>

2.1.4命名空间

  ●如何在宏、循环中访问局部变量?                                 

     将局部变量申明为全局变量<#global x = 1>,在通过${.globals.x}访问

  ●如果在同一个页面,多次引用(<#include>)同一个模板,该怎么区分?

   将<#include>该为<#import>如:<# import "login.flt" as my>,

   <#import "login.flt" as other>这样同一个页面多次引入同一个模板.

  注意:

  a修改变量<#assign username="admin " in my>

  b多次引用其实是引用的同一个对象,所以使用my改变 username,那么

   other获取的是username新值即admin.

2.1.5申明变量       

  ●简单变量:可以在模板中任何位置访问.用assign或macro指令来创建或替换这些变量.

  ●局部变量:只能在宏定义之内访问.用local指令来创建或替换这些变量(局部变量会隐藏非覆盖简单变量)

  ●循环变量:在list中自动创建,用assign来创建或替换这些变量(循环变量会隐藏非覆盖简单变量和局部变量).

2.2Java定义

●通过FileClassServlet创建Configuration.

●设置Configuration的输入、输出值

●设置Configuration的对象包装

Configuration通过shared(Configureation)EnvironmnetTemplate三层设置值

●创建Template,通过process设置任何对象数据.包括Java对象、XML.

●创建Template模板的时候(getTemplate)同时也缓存了模板.可调用  clearTemplateCache()清除模板缓存(可设置清除策略)、也可设置模板延迟更新时间,默认为5.

 

学习FreeMarker入门文档

  • 2009年12月01日 10:54
  • 120KB
  • 下载

Freemarker入门学习资料

  • 2012年09月25日 16:24
  • 301KB
  • 下载

FREEMARKER学习——模板开发_入门

入门 1 模板 + 数据模型 = 输出 假设在一个在线商店的应用系统中需要一个HTML页面,和下面这个页面类似: Welcome! Welcome John Doe! Our l...

FreeMarker学习笔记-<一>快速入门

FreeMarker官网:http://freemarker.org/ 本系列文章参考了FreeMarker官网手册,并转载以下文章: http://blog.csdn.net/zhoubols/...

学习淘淘商城第六十七课(freemarker入门)

上节课我们一起学习了如何在查询商品详情时添加缓存,这节课我们一起来学习下freemaker。         我们都知道,缓存可以提高查询性能,但是当用户访问量很大时,单纯依靠缓存已经不行了,为什么这...

FreeMarker快速入门

  • 2015年07月08日 12:36
  • 196KB
  • 下载

FreeMarker入门案例

Freemarker入门案例 首先需要到freemarker官方下载freemarker的jar包,导入到项目中,如:freemarker-2.3.19.jar 1、先建个freemark...

FreeMarker 简单的入门小小小小例子

  • 2010年08月06日 01:33
  • 3.05MB
  • 下载

freemarker快速入门参考手册

  • 2012年02月22日 18:21
  • 3MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:我的FreeMarker入门学习
举报原因:
原因补充:

(最多只允许输入30个字)