FreeMarker的简单测试
来源:互联网 发布:tvbox网络机刷机 编辑:程序博客网 时间:2024/05/17 22:38
项目结构
HTML模板
freemarker.html
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here</title></head><body>-----------------------------------------//字符串${world}<br>-----------------------------------------//对象数据${student}/${student.id}/${student.name}<br>-----------------------------------------<!-- //list 集合数据 List<String> persons=new ArrayList<String>(); persons.add("小米1"); persons.add("小米2"); persons.add("小米3"); root.put("persons", persons); --> <#list persons as person> ${person} </#list> <br> 获取当前迭代的索引 <#list persons as person> ${person_index} </#list> <br>----------------------------------------- <!-- //map 集合数据 Map mx=new HashMap(); mx.put("小米1", "小米1"); mx.put("小米2", "小米2"); mx.put("xm3", "小米3"); root.put("mx", mx); --> <#list mx ? keys as key> ${mx[key]} </#list> <br> ${mx.xm3} /${mx.小米2} /${mx.小米1} <br>----------------------------------------- <!-- //list<map>数据 List<Map> listMap=new ArrayList<Map>(); Map mx1=new HashMap(); Map mx2=new HashMap(); mx1.put("小米1", "小米1"); mx1.put("小米2", "小米2"); mx2.put("xm3", "小米3"); listMap.add(mx1); listMap.add(mx2); --> <br>----------------------------------------- <#list listMap as map> <#list map ? keys as key> ${map[key]} </#list> </#list> <br> 在模板中赋值情况1<#assign x=0/>${x}<br>----------------------------------------- 在模板中赋值情况1<#assign y='${world}'/>${y}<br> -----------------------------------------在模板中赋值情况3<#assign y>世界太好了</#assign>${y}<br>----------------------------------------- 在模板中赋值情况4<#assign y> <#list persons as person> ${person} </#list></#assign>${y}<br> -----------------------------------------if语句 <#list persons as person> <#if person=='小米1'> ${person} </#if> </#list>-----------------------------------------if语句 按索引 <#list persons as person> <#if person_index!=0> ${person} </#if> </#list>-----------------------------------------|| && else语句 按索引 <#list persons as person> <#if person_index==0 ||person_index==1> ${person} <#else> ${person} </#if> </#list>----------------------- 时间格式${curTime?date}${curTime?time}${curTime?datetime}-----------------------null格式${testNull!"我是null"}${testNull!""}${testNull!}-----------------------宏定义 页面写逻辑判断<#macro table pageNo> ${pageNo}</#macro><@table pageNo=8 />-----------------------<#macro table u> ${u} <#nested/></#macro><@table u=8>this is 8</@table>------------------------include</body></html>
freeamr数据
public class FreemarkerDemo { //搭建freemarker public static void main(String[] args) throws IOException, TemplateException { //配置对象 ftl freemarker template 的简写,demo.ftl建议,但是demo.xml,demo.html等等都行 Configuration conf=new Configuration(); //模板路径 String dir="F:\\developSource\\eclipse\\workSpaceX86_64\\freemarker\\ftl\\";//freemarker.html //导入模板目录 conf.setDirectoryForTemplateLoading(new File(dir)); //获取模板 Template template = conf.getTemplate("freemarker.html"); //数据 Map root=new HashMap(); root.put("world", "世界你好"); //对象数据 Student student=new Student(1,"小米"); root.put("student", student); //list 集合数据 List<String> persons=new ArrayList<String>(); persons.add("小米1"); persons.add("小米2"); persons.add("小米3"); root.put("persons", persons); //map 集合数据 Map mx=new HashMap(); mx.put("小米1", "小米1"); mx.put("小米2", "小米2"); mx.put("xm3", "小米3"); root.put("mx", mx); //list<map>数据 List<Map> listMap=new ArrayList<Map>(); Map mx1=new HashMap(); Map mx2=new HashMap(); mx1.put("小米1", "小米1"); mx1.put("小米2", "小米2"); mx2.put("xm3", "小米3"); listMap.add(mx1); listMap.add(mx2); root.put("listMap", listMap); //时间格式 root.put("curTime", new Date()); //null格式 root.put("testNull", null); //输出 Writer out=new FileWriter(new File(dir+"hello.html")); //生成开始 template.process(root, out); //关闭流 out.flush(); out.close(); System.out.println("生成了"); }}
模板+数据–》新的页面 hello.html
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here</title></head><body>-----------------------------------------//字符串世界你好<br>-----------------------------------------//对象数据cn.zhou.Student@7d7c214d/1/小米<br>-----------------------------------------<!-- //list 集合数据 List<String> persons=new ArrayList<String>(); persons.add("小米1"); persons.add("小米2"); persons.add("小米3"); root.put("persons", persons); --> 小米1 小米2 小米3 <br> 获取当前迭代的索引 0 1 2 <br>----------------------------------------- <!-- //map 集合数据 Map mx=new HashMap(); mx.put("小米1", "小米1"); mx.put("小米2", "小米2"); mx.put("xm3", "小米3"); root.put("mx", mx); --> 小米2 小米3 小米1 <br> 小米3 /小米2 /小米1 <br>----------------------------------------- <!-- //list<map>数据 List<Map> listMap=new ArrayList<Map>(); Map mx1=new HashMap(); Map mx2=new HashMap(); mx1.put("小米1", "小米1"); mx1.put("小米2", "小米2"); mx2.put("xm3", "小米3"); listMap.add(mx1); listMap.add(mx2); --> <br>----------------------------------------- 小米2 小米1 小米3 <br> 在模板中赋值情况10<br>----------------------------------------- 在模板中赋值情况1世界你好<br> -----------------------------------------在模板中赋值情况3世界太好了<br>----------------------------------------- 在模板中赋值情况4 小米1 小米2 小米3<br> -----------------------------------------if语句 小米1-----------------------------------------if语句 按索引 小米2 小米3-----------------------------------------|| && else语句 按索引 小米1 小米2 小米3----------------------- 时间格式2017-4-1915:28:122017-4-19 15:28:12-----------------------null格式我是null-----------------------宏定义 页面写逻辑判断 8----------------------- 8this is 8------------------------include</body></html>
0 0
- FreeMarker的简单测试
- FreeMarker的简单应用
- freemarker简单的例子
- FreeMarker的简单使用
- freemarker的简单案例
- 对Freemarker的简单封装
- freemarker简单的入门例子
- 一个简单的FreeMarker案例
- FreeMarker 简单的入门例子
- springmvc+freemarker的简单demo
- springmvc+freemarker的简单demo
- 简单的springboot使用freemarker
- Freemarker自定义标签的简单分析
- 关于webwork+freemarker的简单实例
- spring mvc+freemarker 简单环境的搭建
- FreeMarker在Java Project的简单使用
- 模板引擎freemarker的简单使用教程
- jfinal+freemarker+shiro的简单实现
- 布局管理器
- Qt事件机制浅析
- 如何在Ubuntu Server 16.04上构建Apache Mesos
- VScode常用快捷键
- 如何看Cortex-M系列处理器差异与共性?技术老司机Joseph带你飞
- FreeMarker的简单测试
- 在PL/SQL 数据库中查看创建一张表的SQL语句
- Linux shell字符串截取与拼接
- The 17th Zhejiang University Programming Contest(solved 8 of 10)
- PostCSS入门:Sass用户入门指南
- [Eclipse]
- mysql中如何设置某字段Key 为MUL
- BZOJ 2212: [Poi2011]Tree Rotations
- crc32 算法与实现