FreeMarker 经典入门例子
来源:互联网 发布:杭州淘宝代运营hzmytp 编辑:程序博客网 时间:2024/05/17 23:15
废话不多说直接上源码
导入freemarker-2.3.8.jar包
1.FreeMarker类
package com.uitl;import java.io.File;import java.io.IOException;import java.io.RandomAccessFile;import java.io.StringWriter;import java.util.HashMap;import java.util.Map;import freemarker.template.Configuration;import freemarker.template.DefaultObjectWrapper;import freemarker.template.Template;import freemarker.template.TemplateException;/*** * * @author ZhuangZi * @version $Id: Test.java,v 0.1 2013-3-5 下午02:44:35 ZhuangZi Exp $ */public class FreeMarker { @SuppressWarnings("unchecked") /*** * @author Administrator * @Directions 生成HTML模板 * @param ftlpath 模板存放路径 * @param htmlpath HTML文件存放路径 * @param tempName 生成HTML文件名 * @return null */ public static void creatHtml(String ftlpath, String htmlpath, String tempName) { /* 在整个应用的生命周期中,这个工作你应该只做一次。 */ /* 创建和调整配置。 */ Configuration cfg = new Configuration(); try { cfg.setDirectoryForTemplateLoading(new File(ftlpath)); cfg.setObjectWrapper(new DefaultObjectWrapper()); /* 在整个应用的生命周期中,这个工作你可以执行多次 */ /* 获取或创建模板*/ Template temp = cfg.getTemplate(tempName + ".ftl"); /* 创建数据模型 */ Map root = new HashMap(); root.put("user", "Big Joe"); Map latest = new HashMap(); root.put("latestProduct", latest); latest.put("url", "products/greenmouse.html"); latest.put("name", "green mouse"); /* 将模板和数据模型合并 */ StringWriter out = new StringWriter(); temp.process(root, out); System.out.println(out.toString()); //写入html文件 File file = new File(htmlpath + tempName + ".html"); if (!file.exists()) { file.mkdirs(); } if (file.exists()) { file.delete(); } RandomAccessFile ra = null; ra = new RandomAccessFile(file, "rw"); ra.write(out.toString().getBytes("gb2312")); ra.close(); out.flush(); } catch (IOException e) { e.printStackTrace(); } catch (TemplateException e) { e.printStackTrace(); } } public static void main(String[] args) { creatHtml("WebRoot/ftl", "WebRoot/html", "test"); }}
2.WebRoot/ftl文件夹下的模板文件
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>test.ftl</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="this is my page"> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <!--<link rel="stylesheet" type="text/css" href="./styles.css">--> </head> <body> <h1>Welcome ${user}<#if user == "Big Joe">, our belovedleader</#if>!</h1><p>Our latest product:<a href="${latestProduct.url}">${latestProduct.name}</a>! </body></html>
3.运行FreeMarker类的main方法,会自动在.WebRoot下创建html文件
OK了,你就使劲顶贴吧 哈哈
- FreeMarker 经典入门例子
- freemarker入门例子
- Freemarker入门例子
- freemarker入门例子
- freeMarker的入门例子
- freemarker入门例子
- FreeMarker模板入门例子
- FreeMarker入门例子
- freemarker简单的入门例子
- FreeMarker 简单的入门例子
- Spring入门经典例子
- Openlayers入门经典例子
- FreeMarker在eclipse中的入门例子
- freemarker技术入门例子(结合struts2)
- FreeMarker 例子
- FreeMarker 例子
- FreeMarker例子
- springMVC3.2+Hibernate4+freemarker入门简单小例子,适合初学者
- 多态以及其优缺点
- Linux Kernel Source - 链表浅析
- HTML5会是Firefox OS的生门还是死门?
- 音视频聊天中走P2P技术带来的优势
- SQL语句的执行顺序和效率
- FreeMarker 经典入门例子
- javascript操作listbox示例
- css:文本两端对齐
- 四六级查分工具完善版
- FMS
- 驱动浅析(观看韦东山视频)
- css 自动换行
- 全局函数中访问dlg类成员变量,使用this指针
- struts.devMode也就是struts的开发模式