FreeMarker的认识及实例(一)

一.Freemarker简介

 1.Freemarker是一个“模板引擎”,,也可以说是一个基于模板技术的生成文本输出的一个通用工具.

 2.FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序

 3.FreeMarker与容器无关,因为它并不知道HTTPServlet;FreeMarker同样可以应用于非Web应用程序环境。

 4.FreeMarker更适合作为Model2框架(如Struts)的视图组件,你也可以在模板中使用JSP标记库

二.Freemarker用法

  1. ①、文本,直接输出的部分

    ②、注释,即<#–…–>格式不会输出

    ③、FTL指令:FreeMarker指令,和HTML标记类似,名字前加#予以区分,不会输出

    ④、插值(Interpolation):即${..}或者#{..}格式的部分,将使用数据模型中的部分替代输出

    2.FLT标签

    开始标签:<#directivename parameters>
    结束标签:</#directivename>
    空标签: <#directivename parameters />
    

    3.FreeMarker的插值有如下两种类型

    1、通用插值:${expr}
    2、数字格式化插值:#{expr}或者#{expr;format}
    

    4.表达式
    表达式是FreeMarker的核心功能。表达式放置在插值语法(${…})之中 时,表面需要输出表达式的值,表达式语法也可以与FreeMarker标签结合, 用于控制输出

      1、直接指定值
    
         a、字符串: ${"我的文件保存在d:\\盘"};
         b、数值
         c、布尔值
         d、日期型(FreeMarker支持date、time、 datetime三种类型,这三种类型的值无法直接指定,通常需要借助字符串的date、time、datetime三个内建函数进行转换才可以  )
         <#assigntest1 = "2015-01-22"?date("yyyy-MM-dd")/>;
         <#assign test2="16:34:43"?time("HH:mm:ss") />;
         <#assigntest2 = "2015-01-2217:23:45"?datetime("yyyy-MM-dd HH:mm:ss") />
         ${test1?string.full}
    
         e、集合
            集合以方括号包括,各集合元素之间以英文逗号(,)分隔,看如下的示例:
    
               <#list[11,12,13,14,15] as x>
                  ${s};
               </#list>
          f、Map集合
             Map对象使用花括号包括,Map中的key-value对之间以英文冒号(:)隔开,多组key-value对之间以英文逗号(,)隔开:
             <#assign score = {"语文":78,"数学":83,"Java":89} > 
             <#list score?key as x>
                 ${x}--->${score[x]};
             </#list>
             <spanstylespanstyle="font-family:sans-serif,arial,verdana,trebuchet ms;line-height:1.6em"> </span>
         2、输出变量值
    
             FreeMarker的表达式输出变量时,这些变量可以是顶层变量,也可以是Map对象中的变量,还可以是集合中的变量,并可以使用点(.)语法来访问Java对象的属性
    
            a、顶层变量
            Map root = newHashMap();
            root.put("name","wenchao");
            对应顶层变量,直接使用${variableName}来输出变量值,变量名只能是数字、字母、下划线、$、@和#的组合,并不能以数字开头
    
             b、输出集合元素
    
               如果需要输出集合元素,则可以根据集合元素的索引来输出元素。集合元素的索引以方括号指定。
             假设有集合对象为:["星期一","星期二","星期三","星期四","星期五","星期六"],该集合对象名为week,如果需要输出星期三,则可以使用如下语法:${week[2]}(索引从零开始)
    
             c、输出Map元素
    
                这里的Map对象可以是直接HashMap的实例,甚至包括JavaBean实例,对应JavaBean实例,我们一样可以把其当成属性为key,属性为value的Map实例
    
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值