FreeMarker(Java)
FreeMarker
FreeMarker is a "template engine"; a generic tool to generate text output (anything from HTML to autogenerated source code) based on templates. It's a Java package, a class library for Java programmers. It's not an application for end-users in itself, but something that programmers can embed into their products.
FreeMarker is designed to be practical for the generation of HTML Web pages, particularly by servlet-based applications following the MVC (Model View Controller) pattern. The idea behind using the MVC pattern for dynamic Web pages is that you separate the designers (HTML authors) from the programmers. Everybody works on what they are good at. Designers can change the appearance of a page without programmers having to change or recompile code, because the application logic (Java programs) and page design (FreeMarker templates) are separated. Templates do not become polluted with complex program fragments. This separation is useful even for projects where the programmer and the HMTL page author is the same person, since it helps to keep the application clear and easily maintainable.
Homepage: http://freemarker.sourceforge.net/
关于freemarker
(1)解决输出中文乱码问题: freemarker乱码的原因: 没有使用正确的编码格式读取模版文件,表现为模版中的中文为乱码 解决方法:在classpath上放置一个文件freemarker.properties,在里面写上模版文件的编码方式,比如 default_encoding=UTF-8 locale=zh_CN 注意:eclipse中除了xml文件、java文件外,默认的文件格...
freemaker的多栏纵向复选框列表组件。
环境:使用fm是2.3.9,webwork2.2.4(使用切换语法): 一:作为components组件的参数如果值为字符串,则需要在字符串上加上单引号。 <ww:component template="checkboxlist_portraitCols.ftl"> <ww:param name="name" value="'test'" /><!--注意单引号--> <ww:param name="colCnt&q...
freemaker学习笔记--设计指导
<# ... > 中存放所有freemaker的内容,之外的内容全部原样输出。 <@ ... /> 是函数调用 两个定界符内的内容中,第一个符号表示指令或者函数名,其后的跟随参数。freemaker提供的控制包括如下: <#if condition><#elseif condition><#else></#if> 条件判断 <#list hash_or_seq as var></#list> 遍历...
freemaker学习笔记--其它内置方法
一:数字型 <#assign answer=42/> ${answer} ${answer?string} <#-- the same as ${answer} --> ${answer?string.number} ${answer?string.currency} ${answer?string.percent} <#setting number_format="0.###E0"/> ${12345?string("0.####E0")} ${answer?string("numb...
freemaker学习笔记--编码指导
1、配置对象: Configuration cfg = new Configuration(); cfg.setDirectoryForTemplateLoading(new File("/where/you/store/templates")); cfg.setObjectWrapper(new DefaultObjectWrapper()); 2:得到模板对象: Template temp = cfg.getTemplate("test.ftl"); Configuration对Template对象进行缓存。 3:合并...
freemaker学习笔记--字符串内置方法
一:字符串内置方法 substring(from, toExclusive) cap_first uncap_first capitalize chop_linebreak date, time, datetime: <#assign test1 = "10/25/1995"?...
Freemarker 模板工具的作用及使用
今天下午才接触到Freemarker这个新组件,同样,它也是java开源代码之一。 经过今天的初步使用,感觉它的作用是减轻编写Servlet的工作量的。我想它也应该应用在jsp页面里面。有人说jsp还要经过转换才变成Servlet才能运行,比直接写servlet运行要慢,我觉得这种担心是多余的,因为jsp比servlet只慢一次(第一次请求为编译,之后就把servlet代码驻留在服务器了)...
FreeMarker概述
l FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写 l FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序 l 虽然FreeMarker具有一些编程的能力,但通常...
FreeMarker设计指南(4)
4、杂项 (1)用户定义指令 l 宏和变换器变量是两种不同类型的用户定义指令,它们之间的区别是宏是在模板中使用macro指令定义,而变换器是在模板外由程序定义,这里只介绍宏 l 基本用法 Ø  ...
FreeMarker设计指南(3)
3、模板 (1)整体结构 l 模板使用FTL(FreeMarker模板语言)编写,是下面各部分的一个组合: Ø 文本:直接输出 Ø Interpolation:由${和},或#{和}来限定,计算值替代输出 Ø&n...