博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
fremarker
阅读量:4973 次
发布时间:2019-06-12

本文共 2121 字,大约阅读时间需要 7 分钟。

引用:

FreeMarker允许Java servlet保持图形设计同逻辑的分离,这是通过在模板中密封HTML完成的。模板用servlet提供的数据动态地生成 HTML。模板语言是强大的直观的,速度快,输出接近静态HTML页面的速度。 

  FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写 
  FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序 
  虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据 
  FreeMarker不是一个Web应用框架,而适合作为Web应用框架一个组件 
  FreeMarker与容器无关,因为它并不知道HTTP或Servlet;FreeMarker同样可以应用于非Web应用程序环境 
  FreeMarker更适合作为Model2框架(如Struts)的视图组件,你也可以在模板中使用JSP标记库 
  FreeMarker是免费的

freemarker - 入门例子

  Test1.java 

  package freemarker; 
  import java.io.File; 
  import java.io.FileOutputStream; 
  import java.io.OutputStreamWriter; 
  import java.io.Writer; 
  import java.util.HashMap; 
  import java.util.Map; 
  import freemarker.template.Configuration; 
  import freemarker.template.Template; 
  public class Test1 { 
  private Configuration cfg; 
  public Configuration getCfg() { 
  return cfg; 
  } 
  public void init() throws Exception { 
  cfg = new Configuration(); 
  cfg.setDirectoryForTemplateLoading(new File("bin/freemarker")); 
  } 
  public static void main(String[] args) throws Exception { 
  Test1 obj = new Test1(); 
  obj.init(); 
  Map root = new HashMap(); 
  Template t = obj.getCfg().getTemplate("Test1.ftl"); 
  Writer out = new OutputStreamWriter(new FileOutputStream("Test1.html"), "GBK"); 
  t.process(root, out); 
  System.out.println("Successfull................"); 
  } 
  } 
  用到的模版 Test1.ftl 
  <#macro greet person,website> 
  Hello ${person}! Your Website is ${website}. 
  </#macro> 
  <html> 
  <head> 
  <title>Hello World</title> 
  </head> 
  <body> 
  <@greet person="老紫竹" website="www.java2000.net"/> 
  </body> 
  </html> 
  运行结果 
  <html> 
  <head> 
  <title>Hello World</title> 
  </head> 
  <body> 
  Hello 老紫竹! Your Website is <a target="_blank" href="www.java2000.net.">www.java2000.net.</a> 
  </body> 
  </html> 
  注:Test1.ftl的位置在bin/freemarker下

转载于:https://www.cnblogs.com/sode/archive/2012/11/13/2768341.html

你可能感兴趣的文章
初级算法-6.两个数组的交集 II
查看>>
欧拉函数 / 蒙哥马利快速幂 / 容斥
查看>>
Makefile
查看>>
软件开发文档以及项目开发流程理解
查看>>
2019微软Power BI 每月功能更新系列——Power BI 4月版本功能完整解读
查看>>
truncate 、delete、drop的区别
查看>>
DynamoDB 中的限制
查看>>
mysql做主从配置
查看>>
Docker练习例子:基于 VNCServer + noVNC 构建 Docker 桌面系统
查看>>
《码出高效 Java开发手册》第六章 数据结构与集合
查看>>
Python获取本机外网IP
查看>>
sleep和wait的区别
查看>>
[导入]弯管机3D DEMO
查看>>
关于51单片机使用printf串口调试
查看>>
软件工程-读书笔记(1-3章)
查看>>
Sublime 快捷键
查看>>
GNU make manual 翻译(二十六)
查看>>
poj1436
查看>>
iOS 电话在后台运行时,我的启动图片被压缩
查看>>
MySQL修复打不开的视图定义
查看>>