Freemarker入门
来源:互联网 发布:php专家编程 pdf 编辑:程序博客网 时间:2024/04/29 14:49
Freemarker介绍:
Freemarker 是一款模板引擎,是一种基于模版生成静态文件的通用工具,它是为java程序员提供的一个开发包,或者说是一个类库,它不是面向最终用户的,而是为程序员提供了一款可以嵌入他们开发产品的应用程序。
Freemarker与容器无关,因为它并不知道HTTP或Servlet;FreeMarker同样可以应用于非Web应用程序环境,FreeMarker更适合作为Model2框架(如Struts)的视图组件,可以在模板中使用JSP标记库,FreeMarker是免费的。
Freemarker准备:
freemarker.2.3.16.jar 下载地址:http://download.csdn.net/detail/ch656409110/4494067
Free生成静态化页面的原理:
Freemarker生成静态页面,首先需要使用自己定义的模板页面,这个模板页面可以是最最普通的html,也可以是嵌套freemarker中的取值表达式, 标签或者自定义标签等等,然后后台读取这个模板页面,解析其中的标签完成相对应的操作,然后采用键值对的方式传递参数替换模板中的的取值表达式,做完之后根据配置的路径生成一个新的html页面,以达到静态化访问的目的。
简单freemarker例子
1、 建java工程 TestFreeMarker(普通的java项目就行)
2、 添加jar包 freemarker.2.3.16.jar
3、 在项目目录下建立模板目录 template
4、 在template目录下建立模板a.ftl 内容如下图:
5、建立自己的java文件 com.sh.Test (java文件用来提供数据) 如下图所示:
6、 运行,得到结果,如下图:
常用的控制指令:
if指令:
<#if 判断(如user==”小明”)>
<#elseiif判断>
<#else>
</#if>
switch指令:
<#switch value>
<#case refValue>...<#break>
<#case refValue>...<#break>
<#default>...
</#switch>
list 指令:
<#list sequence as item>
</#list>
和foreach语法相似,
迭代集合对象时,还包含两个特殊的循环变量:
item_index:当前变量的索引值
item_has_next:是否存在下一个对象
include指令:
<#includefilename [options]>
filename:该参数指定被包含的模板文件
options:该参数可以省略,指定包含时的选项,包含encoding和parse两个选项,其中encoding指定包含页面时所用的解码集,而parse指定被包含文件是否作为FTL文件来解析,如果省略了parse选项值,则该选项默认是true.
如何遍历map:
<#list map?keys as mykey>
key 值 为: ${mykey}
value 值获取:
<#assign mapUser=map[mykey] > //些入没有引号
<#list mapUser as contents>
${contents.id} //其它值雷同
</#list>
</#list>
- FreeMarker系列--FreeMarker入门
- freemarker 入门
- freemarker 入门
- FreeMarker入门
- Freemarker入门
- FreeMarker 入门
- FreeMarker入门
- FreeMarker 入门
- FreeMarker入门
- Freemarker入门
- freemarker入门
- FreeMarker入门
- FreeMarker快速入门1
- FreeMarker 快速入门
- FreeMarker简单入门
- freemarker入门例子
- freemarker快速入门
- Freemarker入门例子
- 2013年NBA球员排名
- 雨纷纷旧故里草木深
- mysql 通用存储过程分页 海量数据分页
- JS完整获取IE浏览器信息
- 关于手机端meta知多少
- Freemarker入门
- 图像分割算法
- cocos2dx以及quick-x lua绑定C++对象的注意事项
- 如何用MATLAB读取csv文件
- 大数据分析- 基于Hadoop/Mahout的大数据挖掘
- 解决linux下不能正常上网的问题
- android 调用 返回json格式的 web service java
- 斗地主规则
- 我的编程之路(十一) 与经理的午餐