`
wangfeiaini
  • 浏览: 55051 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

java静态化FTL文件

阅读更多
/**
	 * 生成静态页面主方法
	 * 
	 * @param context
	 *            ServletContext
	 * @param data
	 *            一个Map的数据结果集
	 * @param templateName
	 *            ftl模版路径
	 * @param targetHtmlPath
	 *            生成静态页面的路径
	 */
	public void crateHTML(ServletContext context, Map<String, Object> data,
			String templateName, String targetHtmlPath, String staticHtmlName) {
		Configuration freemarkerCfg = new Configuration();
		// 加载模版
		freemarkerCfg.setServletContextForTemplateLoading(context, "/");
		freemarkerCfg.setEncoding(Locale.getDefault(), "UTF-8");
		File file = new File(targetHtmlPath);
		if (!file.exists() || !file.isDirectory()) {
			file.mkdir();
		}
		try {
			freemarkerCfg.setDirectoryForTemplateLoading(new File(
					targetHtmlPath));
			// 设置包装器,并将对象包装为数据模型
			freemarkerCfg.setObjectWrapper(new DefaultObjectWrapper());
			// 获取模板,并设置编码方式,这个编码必须要与页面中的编码格式一致
			// 否则会出现乱码
			Template template = freemarkerCfg
					.getTemplate(templateName, "UTF-8");
			template.setEncoding("UTF-8");
			// 静态页面路径
			File htmlFile = new File(targetHtmlPath, staticHtmlName);
			Writer out = new BufferedWriter(new OutputStreamWriter(
					new FileOutputStream(htmlFile), "UTF-8"));
			// 处理模版
			template.process(data, out);
			out.flush();
			out.close();
			File f = new File(targetHtmlPath+"/"+templateName);
			f.delete();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

 

分享到:
评论

相关推荐

    可用的ftl文件压缩包

    1. **模板**: FTl文件就是模板,它定义了输出的静态部分和动态部分。静态部分是不变的HTML代码,动态部分由FTL指令和表达式构成,它们会根据数据模型动态生成内容。 2. **变量**:在FTL文件中,${...}用来表示变量...

    Java根据ftl模板生成多表格复杂性word文档

    在Java项目中,我们通常会创建一个FTL模板文件,这个文件包含固定的文本结构以及用特定语法表示的变量和控制结构。例如,你可以创建一个`.ftl`文件,其中包含表格的定义,然后在表格中插入动态数据。 当涉及到多...

    Java生成word文档(仅一个文档模板原件和转换后缀为.ftl格式文件)

    FTL文件是一种基于文本的模板语言,它允许开发者在模板中插入变量和控制结构,这些变量在运行时会被Java对象的值替换。例如,`&lt;#if&gt;`、`&lt;#foreach&gt;`等用于条件判断和循环,`${variable}`则用于输出Java对象的属性值...

    freemark 页面静态化

    全静态化则是将动态内容转化为独立的HTML文件,用户访问时直接读取这些文件,不再需要服务器执行任何动态脚本。 在Freemarker中实现页面静态化,通常涉及以下几个步骤: 1. **创建模板文件(Template)**:首先,...

    网页静态化例程 网站静态化学习的第一步

    MyEclipse是一款强大的集成开发环境,支持Java、JSP、Servlet等Web开发语言,非常适合进行网页静态化的开发。 第一步,我们需要设置项目环境。创建一个新的Dynamic Web Project,导入必要的库,如Freemarker。...

    基于java根据模板动态生成PDF文件

    本主题聚焦于使用Java编程语言,结合特定的库或框架,根据预定义的模板来动态生成PDF文件。以下是关于这个主题的详细知识讲解。 一、Java与PDF生成 Java作为一门广泛使用的后端开发语言,提供了丰富的库来处理PDF...

    java生成静态页面的思路

    总的来说,Java生成静态页面的核心在于数据处理、模板引擎的运用和文件操作。通过合理的工具和框架选择,可以构建高效、可扩展的静态页面生成系统。对于开发者而言,掌握这一技术不仅有助于提升网站性能,也是提高...

    freemarker生成静态html示例

    Freemarker是一个开源的Java库,它允许开发者通过定义模板(.ftl文件)和数据模型,生成文本输出。它的核心思想是分离业务逻辑和视图展示,使得开发者可以在不修改代码的情况下,通过修改模板来改变页面样式。 项目...

    Freemarker网站静态化的实现实例源码(eclipse)

    6. **性能优化**:在大规模网站中,静态化可能会涉及到大量文件的生成和管理。因此,可以考虑以下优化措施: - 使用缓存:对于频繁请求但不经常更新的页面,可以缓存生成的HTML,减少重复生成。 - 并行处理:多...

    velocity freemarke 模版 静态化 实现

    Velocity和FreeMarker是两种常用的Java模板引擎,它们可以方便地结合JSP(JavaServer Pages)进行动态网页生成,并实现页面静态化。本文将详细介绍如何使用Velocity和FreeMarker模板实现页面静态化,并提供具体的...

    ftl转pdf的jar下载

    它在Java应用中常被用来生成静态网页或者邮件内容。在Web开发中,尤其是在使用Spring框架时,FTL与MVC模式相结合,可以方便地将数据模型渲染成用户友好的视图。 PDF(Portable Document Format)是一种广泛使用的...

    java Freemarker页面静态化实例详解

    API是Java代码,用于与Freemarker引擎交互,数据是传递给模板以生成输出的信息,而FTL文件则是包含Freemarker语法的文本文件,用于定义页面布局和动态内容。 以下是一个简单的Freemarker入门实例,展示了如何使用...

    freemarker把jsp静态化简单应用

    本教程将介绍如何在Java Web项目中利用FreeMarker进行JSP页面的静态化,适合初学者入门学习。 1. **FreeMarker基本概念** FreeMarker是一个基于模板的语言,它与编程语言不同,不包含任何控制结构或函数调用。它的...

    JAVA集成Freemarker生成静态html过程解析

    这些配置告诉Spring Boot在哪里查找模板文件(这里是类路径下的`templates`目录),模板文件的默认后缀是`.ftl`,使用UTF-8编码,并设置了数字格式化规则。 然后,我们创建Freemarker模板文件(`.ftl`)。这些文件...

    使用FreeMarker生成Html静态文件

    这样,Web服务器可以直接返回这些静态文件,提高网站的访问速度。 6. **优化与调试**: FreeMarker支持缓存机制,可以提高模板的加载速度。同时,它也有丰富的错误处理和调试功能,如模板错误报告、日志记录等。 ...

    struts1.2+freemarker实现登录成功页面静态化例子

    总结来说,这个例子展示了如何结合Struts1.2和Freemarker2.3.8实现登录成功页面的静态化,通过静态化可以提高网站性能,减轻服务器负担,提升用户体验。在实际开发中,开发者可以根据项目需求灵活运用这些技术和策略...

    java freemarker导出word -包含多张图片导出

    创建一个`.ftl`(FreeMarker模板)文件,定义Word文档的结构和内容。在模板中,使用FreeMarker语法 `${}` 来插入动态数据。例如,可以创建一个包含图片占位符的模板,如`${image_path}`,这将在运行时被实际的图片...

    基于Javascript的ThinkItCMS Java CMS系统设计源码

    本项目是基于Javascript的ThinkItCMS Java CMS系统设计源码,包含474个文件,其中包括416个Java文件、38个XML文件、10个FTL文件、4个YAML文件、2个Gitignore文件、2个DAT文件和1个Markdown文件。此外,还包括1个SQL...

    基于Java的PublicCMS内容管理系统设计源码

    包含3960个文件,其中包括1160个GIF图像文件、845个Java类文件、642个JavaScript文件、538个HTML文件、253个PNG图像文件、153个CSS样式文件、77个SVG文件、50个数据文件、34个FreeMarker模板文件(.ftl)和32个...

    java生成静态页面——Freemarker实例教程.docx

    ### Java生成静态页面——Freemarker实例教程 #### 一、Freemarker简介 Freemarker是一款基于模板的通用工具,它可以嵌入到各种应用程序中,帮助开发者将动态数据渲染成HTML、XML或其他文本格式的文件。对于提高...

Global site tag (gtag.js) - Google Analytics