`
sundful
  • 浏览: 1245303 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

freemaker学习笔记--内置方法

 
阅读更多

一:数字型
<#assign answer=42/>
${answer}
${answer?string}  <#-- the same as ${answer} -->
${answer?string.number}(文章来源 www.iocblog.net)
${answer?string.currency}
${answer?string.percent}

<#setting number_format="0.###E0"/>

${12345?string("0.####E0")}  


${answer?string("number")} 等同于:${answer?string.number}.

二:日期型:
预定义格式包括:short ,middle和long。

${openingTime?string.short}
${openingTime?string.medium}
${openingTime?string.long}

组合使用:${lastUpdated?string.short_long}
${lastUpdated?string("yyyy-MM-dd HH:mm:ss zzzz")}

三:逻辑型
foo?string
foo?string("yes", "no")

四:序列的内置方法:
first

last

seq_contains
${x?seq_contains("blue")?string("yes", "no")}

seq_index_of

seq_last_index_of

reverse

size

sort

sort_by
多层次的hash排序

<#assign members = [
    {"name": {"first": "Joe", "last": "Smith"}, "age": 40},
    {"name": {"first": "Fred", "last": "Crooger"}, "age": 35},
    {"name": {"first": "Amanda", "last": "Fox"}, "age": 25}]>
Sorted by name.last: 
<#list members?sort_by(['name', 'last']) as m>
- ${m.name.last}, ${m.name.first}: ${m.age} years old
</#list> 

chunk:将一个序列分解成几个序列。

<#assign seq = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']>

<#list seq?chunk(4) as row>
  <#list row as cell>${cell} </#list>
</#list>

<#list seq?chunk(4, '-') as row>
  <#list row as cell>${cell} </#list>
</#list>
chunk经常用于分栏或者表格输出的格式。

五:hash内置方法:

keys:
values:

六:很少使用或者专家级的内置方法:
byte,double,float,int,long,short。

eval

has_content:变量存在,不是指null也不是空串,一般情况下可以使用expr!?size > 0 or expr!?length > 0 代替expr?has_content

interpret将一个字符串解析为ftl模版,产生一个TemplateTransformModel对象。
<#assign x=["a", "b", "c"]>
<#assign templateSource = "<#list x as y>${y}</#list>">
<#assign inlineTemplate = templateSource?interpret>
<@inlineTemplate>def/@inlineTemplate

is_...检查变量类型:

Built-in

Returns true if the value is a ...

is_string

string

is_number

number

is_boolean

boolean

is_date

date (all types: date-only, time-only and date-time)

is_method

method

is_transform

transform

is_macro

macro

is_hash

hash

is_hash_ex

extended hash (i.e. supports ?keys and ?values)

is_sequence

sequence

is_collection

collection(文章来源 www.iocblog.net)

is_enumerable

sequence or collection

is_indexable

sequence

is_directive

macro or transform

is_node

node


namespace:返回宏变量的命名空间,只能用于宏。

new:创建一个TemplateModel实现的变量。
<#assign word_wrapp = "com.acmee.freemarker.WordWrapperTransform"?new()>

分享到:
评论

相关推荐

    FreeMarker学习笔记

    本学习笔记将深入探讨FreeMarker的核心概念、语法特性以及在实际项目中的应用。 1. **FreeMarker基本概念** - **模板**: FreeMarker的工作核心是模板,它是HTML或XML文档,其中嵌入了特定的FreeMarker指令和变量。...

    freemarker学习资料汇总

    本压缩包集合了丰富的Freemarker学习资源,涵盖从基础到进阶的各种知识点,以下是这些文档中可能包含的详细内容: 1. **Freemarker中文手册.pdf**: 这份手册通常会详细介绍Freemarker的基本概念,如模板语言、...

    freemarker及jeecms标签使用学习文档

    - `Freemaker_入门+深入+开发指南+学习笔记.doc`:这份文档提供了从基础到高级的Freemarker学习路径,包括基本语法、模板设计原则和实践案例。 - `freemaeker全面教程.doc`:这份教程全面覆盖了Freemarker的各个...

    尚硅谷SpringBoot核心技术笔记-视频-资料(全)

    学习笔记会详细解释如何配置和使用嵌入式服务器。 在SpringBoot中,SpringApplication是启动应用的关键类,它负责初始化Spring环境并启动应用。在尚硅谷的视频教程中,你会看到如何编写启动类,以及如何自定义应用...

    struts2学习笔记.doc

    ### Struts2学习笔记知识点概览 #### 一、环境搭建 **1.1 Struts2简介** - **Struts2概述**:Struts2是一个开源的MVC框架,它结合了Struts 1.x、WebWork和其他一些框架的优点。Struts2的主要目标是简化Web应用程序...

    笔记-Struts2不完美的知识点整理.docx

    5. **多种视图技术支持**:除了内置的FreeMarker模板引擎,Struts2还支持JSP、Velocity等视图技术,增强了视图的可定制性。 **Struts2在三层架构中的位置** 在经典的三层架构中,Struts2主要位于表现层,负责接收...

    Struts2学习笔记

    根据给定的文件信息,以下是对Struts2学习笔记中涉及的关键知识点的详细解析: ### Struts2框架概览 #### MVC模式的理解与演进 Struts2是基于MVC(Model-View-Controller)模式设计的一种Java Web开发框架。在MVC...

    Struts2 - 学习笔记

    4. **多种视图技术的支持**:Struts2支持多种表现层技术,如JSP、FreeMarker和Velocity,这使得开发者可以根据项目需求选择合适的视图技术。 5. **输入验证**:Struts2允许对特定的方法进行输入验证,提高了数据...

    Freemarker 语法规则

    通过阅读`freemarker语法.docx`和`freemarker笔记1.txt`,你可以更深入地了解这些规则,并结合实际项目进一步掌握Freemarker的使用。同时,参考提供的博客链接(https://kingpingping.iteye.com/blog/1144477),...

    Spring 学习笔记《Spring Boot》源码

    在《Spring Boot》源码学习笔记中,我们可以深入理解其内部工作机制,包括自动配置、起步依赖、命令行接口(CLI)以及如何集成各种组件如JSP等。JSP(JavaServer Pages)是一种用于动态创建网页的技术,Spring Boot ...

    java与freemarke学习笔记

    通过这个学习笔记,你可以掌握如何用Java构建数据模型,如何使用FreeMarker模板语法来动态渲染页面,以及如何在实际项目中整合这两者。这将帮助你更好地理解和实践Java与FreeMarker的协同工作,提升Web应用的开发...

    Struts2.1学习笔记

    ### Struts2.1学习笔记 #### Struts2的来源与优点 - **来源**:Struts2是在WebWork2的基础上发展起来的,它继承了WebWork2的优点,并且进行了改进,使其更适合现代Web应用程序的需求。与Struts1相比,Struts2的...

    freemarker资料汇总

    最后,基础语法的文本文件《Freemarker基础语法.txt》和《Freemarker学习归纳 .txt》是对Freemarker核心语法的精炼总结,方便初学者快速入门。这些文件可能包括变量、表达式、控制流、注释等基本元素,是学习...

    struts2.0学习笔记

    本篇笔记将详细介绍如何在MyEclipse环境中配置Struts2.0,并逐步演示从创建运行环境到实现简单的验证和自定义类型转换的过程。 首先,我们需要准备运行环境。MyEclipse 6.0 和 Tomcat 5.5 是开发Struts2.0应用的...

    freemark学习笔记

    以下是对FreeMarker学习笔记的详细解释: 1. **基本语法** - **模板**:FreeMarker模板是由HTML、XML或其他文本格式组成的文件,其中包含FTL(FreeMarker Template Language)指令。模板设计者无需关注数据来源,...

    Freemaker_入门+深入+开发指南+学习笔记

    member_function()`:使用内置函数对变量进行转换。 - `stringA[M..N]`:获取字符串的子串。 - `{key:value, key2:value2}`:定义哈希表。 - `[item0, item1, item2]`:定义序列。 - `hash0[key0]`:访问哈希表中的...

    struts2学习笔记

    ### Struts2 学习笔记 #### 一、Struts2 概览及发展历程 **Struts2** 是一个开源的 Java Web 应用框架,它继承了 **Struts1** 的优秀特性,并在此基础上进行了大量的改进和扩展。**Struts2** 的发展可以追溯到 **...

    springmvc学习笔记

    本学习笔记将深入探讨Spring MVC的核心概念、配置、控制器、视图解析、数据绑定、异常处理等关键知识点。 1. **核心概念** - **DispatcherServlet**:Spring MVC 的核心组件,负责接收请求并分发到相应的处理器。 ...

Global site tag (gtag.js) - Google Analytics