FreeMarker 是一个用Java编写的模板引擎,主要用来生成HTML Web页面,特别是基于MVC模式的应用程序。虽然FreeMarker具有一些编程的能力,但不像PHP,通常由Java程序准备要显示的数据,由 FreeMarker模板生成页面。 FreeMarker可以作为Web应用框架一个组件,但它与容器无关,在非Web应用程序环境也能工作的很好。 FreeMarker适合作为MVC的视图组件,还能在模板中使用JSP标记库。
-
-
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.Map;
-
-
import freemarker.template.Configuration;
-
import freemarker.template.Template;
-
import freemarker.template.TemplateException;
-
-
-
-
-
-
-
public class GeneratorHtml {
-
private Configuration config = null;
-
-
-
-
-
-
-
private boolean creatDirs(String path) {
-
File aFile = new File(path);
-
if (!aFile.exists()) {
-
return aFile.mkdirs();
-
} else {
-
return true;
- }
- }
-
-
-
-
-
-
-
-
-
-
@SuppressWarnings("unchecked")
-
public void geneHtmlFile(String templateFileName, String templateFilePath, Map contextMap,
- String htmlFilePath, String htmlFileName) {
-
-
try {
-
Template t = this.getFreeMarkerCFG(templateFilePath).getTemplate(templateFileName);
-
-
this.creatDirs(htmlFilePath);
-
File afile = new File(htmlFilePath + "/" + htmlFileName);
-
Writer out = new BufferedWriter(new OutputStreamWriter(
-
new FileOutputStream(afile)));
- t.process(contextMap, out);
- out.flush();
- out.close();
-
} catch (TemplateException e) {
- System.out.print(e.getMessage());
-
} catch (IOException e) {
- System.out.print(e.getMessage());
-
} catch (Exception e) {
- System.out.print(e.getMessage());
- }
- }
-
-
-
-
-
-
-
-
-
-
-
private Configuration getFreeMarkerCFG(String templateFilePath)
-
throws Exception {
-
if (null == this.config) {
-
-
this.config = new Configuration();
-
try {
-
this.config.setDirectoryForTemplateLoading(new File(
- templateFilePath));
-
} catch (Exception ex) {
-
throw ex;
- }
- }
-
return this.config;
- }
-
- }
分享到:
相关推荐
FreeMarker教你如何生成html静态页面源码
模板语言是强大的直观的,编译器速度快,输出接近静态HTML页面的速度。 FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写 FreeMarker被设计用来生成HTML Web页面,特别是基于...
2.freemarker 写出来的页面一般都是xml格式友好的,也就是说你可以写出很规范的xhtml,而且还可以直接使用一些xml的代码格式化工具直接美化.而且很容易发现其中缺少或者嵌套错误的tag 3. 个人觉得freemarker 和taglib...
FreeMarker允许Java servlet保持图形设计同应用程序逻辑的分离,这是通过在模板中密封HTML完成的。模板用servlet提供的数据动态地生成 HTML。模板语言是强大的直观的,编译器速度快,输出接近静态HTML页面的速度。
FreeMarker与struts2整合,一个小案例实现【增删改查】生成静态页面。内含数据库sql文件及效果图。数据库是mysql,c3p0+dbUtils实现数据操作。是一个完整的案例。
Freemarker FreeMarker 是一个用 Java 语言编写的模板引擎,它基于模板...总结:freemarker 模版引擎,可以使用 Freemarker 模版生成 html 页面。 Freemarker 语法 /** * freemark入门案例 * freemark三要素: * 1.
FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页、电子邮件、配置文件、源代码等)的通用工具。
模板语言是强大的直观的,编译器速度快,输出接近静态HTML页面的速度。 FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写 FreeMarker被设计用来生成HTML Web页面,特别是基于MVC...
模板语言是强大的直观的,编译器速度快,输出接近静态HTML页面的速度。虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据。[1] FreeMarker与容器...
模板语言是强大的直观的,编译器速度快,输出接近静态HTML页面的速度。虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据。[1] FreeMarker与...
模板语言是强大的直观的,编译器速度快,输出接近静态HTML页面的速度。 FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写 FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式...
模板语言是强大的直观的,编译器速度快,输出接近静态HTML页面的速度。 FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写 FreeMarker被设计用来生成HTML Web页面,特别是基于MVC...
模板语言是强大的直观的,编译器速度快,输出接近静态HTML页面的速度。 FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写 FreeMarker被设计用来生成HTML Web页面,特别是基于MVC...
1.生成静态页面html 2.直接由模板获取数据显示出来
通过HTML表示静态页面,Ajax和Freemarker做数据交互的一个动态小demo 总共两个项目 ajax这个文件夹是用户ajax作为网络请求的 在request.js文件中造的json数据,前部分直接获取对应DOM标签进行赋值,下面的根据json的...
FreeMarker概述 FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写 FreeMarker被设计用来...但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据
模板语言是强大的直观的,编译器速度快,输出接近静态HTML页面的速度。 FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写 FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式...
JEECMS是国内Java版开源网站内容管理系统 ...6. 完全生成全站静态页面,可自定义路径结构,全面提高页面访问速度 7.轻松建设大规模网站,可通过次级域名建立子站群,各子站后台管理权限分离,全站实现单点登录
FreeMarker允许Java servlet保持图形设计同应用程序逻辑的分离,这是通过在模板中密封HTML完成的。模板用servlet提供的数据动态地生成 HTML。模板语言是强大的直观的,编译器速度快,输出接近静态HTML页面的速度。
FreeMarker允许Java servlet保持图形设计同应用程序逻辑的分离,这是通过在模板中密封HTML完成的。模板用servlet提供的数据动态地生成 HTML。模板语言是强大的直观的,编译器速度快,输出接近静态HTML页面的速度。