FreeMarker学习(一)
来源:互联网 发布:js点击列表进详情页 编辑:程序博客网 时间:2024/05/16 07:55
月初写了两篇博客,瞅着月末了,发现自己一个写博客的特点:越来越喜欢开门见山,不喜欢拐弯抹角了!!!所以,这里就不说为什么我会学习freemaker了!
一、配置环境
直接将下载的freemarker下的两个文件拷贝到eclipse的主目录下面freemarker下的两个文件:
Features
Plugins
C:\Java\tool\eclipse:
二、开发流程
1)、引入freemarker的jar包:
<dependency><groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.20</version>
</dependency>
2)、创建相应的ftl模板文件,注意,文件名一定是ftl格式的
src.mian.resource.ftl.hello.ftl
Hello:${username}
src.mian.resource.ftl.hello.ftl
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <h1>Hello:${user.userName}</h1> ${user.nicekName}年纪已经${user.age} </body></html>
3)、测试方法
@Testpublic void testFHello() {try {// 1、创建ConfigurationConfiguration cfg = new Configuration();// 2、设置config中加载模板的路径// 设置了基于classpath加载路径,并且所有的模板文件都放在/ftl中cfg.setClassForTemplateLoading(TestFreemarker.class, "/ftl");// 3、获取模板文件,由于已经设置了默认的路径是/ftl,此时hello.ftl就是ftl下的文件Template temp = cfg.getTemplate("helloHtml.ftl");// 4、创建数据文件,非常类似于OGNL,使用map来进行设置Map<String, Object> root = new HashMap<String, Object>();root.put("username", "zll");// 5、通过模板和数据文件生成相应的输出temp.process(root, new FileWriter("d:/test/hello.html"));} catch (IOException e) {e.printStackTrace();} catch (TemplateException e) {e.printStackTrace();}}
4)、结果
三、小结
在JSP之前,用servelet写html页面怎么写?将html的标签作为整个输出流的一部分,不断的在servlet中拼写html的内容,然后嵌入相对应的数据内容,有了jsp之后,jsp对html标签和数据做了一个整合,而freemarker恰是在jsp之前,通过写好的html模板和数据,动态生成灵活页面。所以,如果没人拦着我,那么我觉得freemarker更像一个写好了html标签的servlet!!!有疑问么???
(下篇进行freemarker的封装)
0 0
- freemarker学习(一)
- FreeMarker学习(一)
- freeMarker学习(一)
- Freemarker学习归纳(一)
- Freemarker学习归纳(一)
- FreeMarker学习笔记(一)
- FreeMarker学习笔记(一) 初步认识Freemarker的模板
- FreeMarker学习笔记(一) 初步认识Freemarker的模板
- freemarker 学习一
- freemarker学习案例一
- FreeMarker(一)
- Freemarker(一)简介
- (一)freemarker入门
- freemarker介绍(一)
- Freemarker 学习笔记一Freemarker 的介绍以及创建步骤
- FreeMarker学习(二)
- FreeMarker学习笔记-<一>快速入门
- freemarker模板引擎学习一.简介+helloworld
- 好记性不如烂笔头73-多线程-继承thread实现简单多线程
- 自圆其说的“CPU”的理解
- Can't bind to local 8700 for debugger报错和解决
- C语言指针数组和指向指针的指针
- lastPathComponent的功能
- FreeMarker学习(一)
- 使用HMAILSERVER搭建邮件服务器
- Web Services学习笔记01
- 构建黄金组合LVS + Keepalived高可用负载均衡集群&填坑++
- PageRank算法简介及Map-Reduce实现
- python将字符串转成16进制的ASCii码的值
- 【Android基础篇】使用ExpandableListView实现自定义的下拉列表
- 等宽字体选择Liberation Mono
- 找不到jar包的解决方案