- 浏览: 149975 次
- 性别:
- 来自: 武汉
文章分类
最新评论
-
hardPass:
貌似二分法,没有一个合并的过程
简单_分治算法 -
zhufeng1981:
讲解的不错,支持一下。
简单_分治算法 -
a346063587:
嗯。。的确,基础很重要!
关于递归和尾递归的原理 -
zhufeng1981:
huoyj 写道基础很重要,这是永远不变的真理。 很赞同这句话 ...
关于递归和尾递归的原理 -
huoyj:
基础很重要,这是永远不变的真理。 很赞同这句话
关于递归和尾递归的原理
freeMarker是一个 JAVA开源模版引擎
下面以创建一个静态的HTML页面为例作为入门:
首先需要去下载freeMarker的包,地址http://www.freemarker.org/index.html
该地址含有中文的pdf帮助文档
javaBean
freeMarker模版文件
下面以创建一个静态的HTML页面为例作为入门:
首先需要去下载freeMarker的包,地址http://www.freemarker.org/index.html
该地址含有中文的pdf帮助文档
package freemarker; import java.io.BufferedWriter; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.io.Writer; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import freemarker.template.Configuration; import freemarker.template.Template; import freemarker.template.TemplateException; public class BuildHtml { public static void main(String[] args) { BuildHtml buildHtml = new BuildHtml(); // System.out.println(buildHtml); String path = "D:\\eclipse\\myTest\\src\\freemarker\\"; Map rootMap = new HashMap(); rootMap.put("name", "aaaaaaaaaa"); User2 u2 = new User2("11111","222222222互联网的"); rootMap.put("u2",u2); List<User2> list = new ArrayList<User2>(); for (int i = 0; i < 4; i++) { list.add(new User2("33333_"+i,"44444_"+i)); } rootMap.put("list",list); rootMap.put("zs1","张三1_zs1"); rootMap.put("zs2","张三1_zs2"); buildHtml.create(path, "test1.ft", rootMap , path+"1.html"); } /** * 创建静态HTML页面 * @param filePath 模版路径 * @param fileName 模版文件名 * @param rootMap 参数 * @param html 生成的静态文件路径(包含文件名称) */ public void create(String filePath, String fileName, Map rootMap, String html) { Configuration cfg = new Configuration(); Template t = null; Writer out = null; try { cfg.setDirectoryForTemplateLoading(new File(filePath)); t = cfg.getTemplate(fileName, "gbk"); out = new BufferedWriter(new OutputStreamWriter( new FileOutputStream(html), "gbk")); t.process(rootMap, out); } catch (IOException e1) { e1.printStackTrace(); } catch (TemplateException e) { e.printStackTrace(); } finally { if (out != null) { try { out.flush(); out.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
javaBean
package freemarker; public class User2 { String id; String name; public User2(String id, String name) { super(); this.id = id; this.name = name; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
freeMarker模版文件
<html> <head> <title>Welcome!</title> </head> <body> ${name}<br/> <#--访问对象的属性--> ${u2.name}<br/> <br> <#--条件指令--> <#if u2.name=='222222222'> freemark if<br> </#if> <table border="1"> <tr> <td>id</td> <td>name</td> </tr> <#--list指令进行迭代--> <#list list as u> <tr> <td>${u.id}</td> <td>${u.name}</td> </tr> </#list> </table> <br> <#--不存在的变量,用默认值代替--> <h1>${user100!"Anonymous"}</h1> <#--通过if指令里面用??询问变量是否存在--> <#if user100??>welcome ${user100}</#if> <#--下面的macro定义了一个名为greet的宏,也就是一个代码片段,--> <#macro greet> <font size="+2">早晨好!</font><br> </#macro> <#--使用宏--> <@greet/> <@greet/> <#--带参数的宏--> <#macro greet2 person> <font size="+2">Hello ${person}/> </#macro> <@greet2 person="张三1"/> and <@greet2 person="张三2"/> <#--用数据替换张三1和张三2--> <@greet2 person=zs1/> and <@greet2 person=zs2/> </body> </html>
发表评论
-
高效编写JAVA代码的几条建议(转)
2011-11-23 20:34 1323(1) 类名首字母应该大写 ... -
java正则表达式及java.util.regex包的学习
2011-11-16 22:34 24729没有事做,就会堕落。。 这个世界有太多的浮躁,要耐得住诱惑; ... -
quartz的配置(转自网络)
2011-11-16 20:18 1169周允许的是1-7 其中1 ... -
[转自网络]freeMarker的常用语法(以后可能会用到)
2011-11-16 09:48 1167常用语法 EG.一个对象BOOK 1.输出 $…{book ... -
开源定时器quartz入门
2011-11-15 20:03 4814闲来无事学习了下quartz框架,其实JAVA下的定时器框架还 ... -
java.util.logging包的学习
2011-11-11 22:07 1282package sunfa.lx; import jav ... -
mybatis中的一个OOXX
2011-11-08 15:11 1200mybatis : mybatis XML中执行多条语句: ... -
Timer和ScheduledExecutorService区别
2011-10-09 23:59 3168Timer里面的任务如果执行时间太长,会独占Timer对象,使 ... -
java io流之 装饰模式
2011-10-05 21:41 1120初学java.io的时候容易被众多的IO类搞晕头,其实java ... -
java nio学习笔记<一>
2011-10-05 21:04 1058package nio; import java.i ... -
java.util.concurrent.atomic.*包的体会
2011-10-01 18:10 1435java.util.concurrent.atomic.*包的 ... -
计算很大数组中List的和
2011-09-30 19:45 1027原帖地址: http://www.iteye.com/topi ... -
CountDownLatch、CyclicBarrier让多线程变得更简单
2011-09-29 16:54 1071CountDownLatch 一个同步辅助类,在完成一组正在其 ... -
山寨同步队列 VS 官方BT的ArrayBlockingQueue ,结果官方落马!!!
2011-09-29 15:30 990官方的java.util.concurrent.ArrayBl ... -
突然发现自己的JAVA基础很差
2011-09-25 11:50 1134今天因为一个问题上网搜索却牵扯出了另一个问题。。。纠结。、、还 ... -
java_Comparable & Comparator
2011-09-21 23:21 1378java有2个非常重要的排序接口:java.lang.Comp ... -
tomcat,jboss部署方式(热部署)
2011-06-26 16:08 2805tomcat: 1、直接把项目web文件夹放在webapps里 ... -
JAVA书籍(IO多线程等)
2011-05-29 15:47 972留下这些书,纪念我曾经走过的路。 -
java IO的学习总结
2011-05-29 15:31 10141、JAVA中的IO流分字节流和字符流 2、InputStre ... -
关于JAVA3D游戏(摘自网络)
2011-01-02 16:56 23352006年8月,我们终于决定用计算机三维视觉游戏机制制作自己的 ...
相关推荐
综合了freemarker的入门文档 和 俩个小实例
freemarker入门freemarker入门freemarker入门freemarker入门
NULL 博文链接:https://pihai.iteye.com/blog/364030
FreeMarker与Struts2整合的入门Demo 直接布署在Servlet容器运行
freemarker入门共9页.pdf.zip
学习FreeMarker入门,很好的入门文档。
FreeMarker入门手册 FreeMarker入门手册 今天你学了吗
freemarker入门实例,直接运行(junit)测试类
JFinal+Maven+FreeMarker入门实例 JFinal这个框架确实不错,受够了Struts 2
Freemarker入门简介,资料,蛮有用的。
freemarker入门,自学
springboot集成freemarker的迷你案例,注意是迷你
FreeMarker的入门以及使用指南,想要学习的同学,希望对你们有帮助。
freemarker 入门资料,很经典, 是入门的最好教程
FreeMarker_Example.zip 包括两个目录 FreeMarkerTest目录是工程 templates文件夹请拷贝到c盘根目录下
NULL 博文链接:https://314858770.iteye.com/blog/966863
freemarker指南 博文链接:https://kenshinlk.iteye.com/blog/59084
freemarker的入门文档,可以帮助初学者了解freemarker模板技术。