一个项目用到freemarker于是在此mark一下,
还是直接上代码。
package com.test.freemarker;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import freemarker.template.Configuration;
import freemarker.template.DefaultObjectWrapper;
import freemarker.template.Template;
import freemarker.template.TemplateException;
import freemarker.template.TemplateExceptionHandler;
public class TestFreeMarker {
public static void main(String []args) throws IOException, TemplateException{
/**
* freemarker 加载文件
*/
Configuration cfg = new Configuration();
//加载freemarker模板文件
cfg.setDirectoryForTemplateLoading(new File("E:/Java/test/WebRoot/templates"));
//设置对象包装器
cfg.setObjectWrapper(new DefaultObjectWrapper());
//设计异常处理器
cfg.setTemplateExceptionHandler(TemplateExceptionHandler.IGNORE_HANDLER);
//定义并设置数据
Map<String, Object> data = new HashMap<String, Object>();
data.put("persion", "godbugs");
//获取指定模板文件
Template template = cfg.getTemplate("hello.ftl");
//定义输入文件,默认生成在工程根目录
Writer out = new OutputStreamWriter(new FileOutputStream("E:/Java/test/WebRoot/test.html"),"UTF-8");
//写入目标文件中
//写的是freemarker 生成模板
List list = new ArrayList();
list.add("星期一");
list.add("星期二");
list.add("星期三");
data.put("list", list);
data.put("age", 12);
template.process(data, out);//写入目标文件
System.out.println("success");
}
}
模板文件
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>a.html</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">
</head>
<body>
这是一个模板文件,欢迎获取${persion}
<#list list as t>
${t}
</#list>
<#assign age=age><!--模板变量赋值 -->
<#if (age>60)>老年人
<#elseif (age>40)>中年人
<#elseif (age>20)>青年人
<#else> 少年人
</#if><!--用模板去设 -->
</body>
</html>
freemarker用法还是相当简单的。
分享到:
相关推荐
NULL 博文链接:https://takeme.iteye.com/blog/1716445
freeMarker的简单应用,适合入门人了解,导入myeclipse发布到tomact即可应用
俗话说万事开头难,这句话对于我们程序员来说非常的适用,刚接触一门新的东西,...FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序
FreeMarker不是一个Web应用框架,而适合作为Web应用框架一个组件 FreeMarker与容器无关,因为它并不知道HTTP或Servlet;FreeMarker同样可以应用于非Web应用程序环境 FreeMarker更适合作为Model2框架(如Struts...
freemarker的应用 博文链接:https://hell-liul.iteye.com/blog/487004
Velocity 和 FreeMarker区别 对于大部分的应用来说,使用 FreeMarker 比 Velocity 更简单,因为 Velocity 还必须编写一些自定义的
适合初学freemarker的人参考的一个简单登录代码。主要是实现freemarker与struts2的整合
本人工作时项目需要用到freemarker,所有公司给了我这个手册让我学习,这本手册我觉得很好,只需要你花一点时间去看,那么你就能掌握freemarker的应用,比较简单易懂。加油吧!
Word从2003开始支持XML格式,用XML+Freemarder还做就很简单了,大致的思路是先用office2003或者2007编辑好 word的样式,然后另存为xml,将xml翻译为FreeMarker模板,最后用java来解析FreeMarker模板并输出Doc。...
技术选型方面,该项目是一个`SpringBoot`的单体应用,项目使用`SpringBoot2`框架快速开发,数据访问层使用`Mybatis`框架,页面渲染引擎使用`Freemarker`,页面样式使用`Layui`,日志方面选用的是`logback`,统计报表...
一个简单的 web 应用程序,用于编辑 FreeMarker FTL 模板,快速转换并预览 HTML 和 PDF 格式的结果。 用 Spring 和 AngularJS 编写。 此工具旨在适应编写在您的应用程序中呈现为 HTML 或 PDF 的 FTL 模板的工作流程...
一套基于FreeMarker技术实现的Java快速开发的代码生成器。 FreeMarker主要两大作用,一种是动态内容静态化。一种是代码生成。...本例的应用是后者,目的是为了节省业务开发时间,对简单的业务代码快速实现。
这两天公司叫我做个简单的关于Struts的应用项目,表现层要求用FreeMarker,听说现在提倡运用模 <br>板,JSP将要被这些东西取代,代码中有很多可学的地方,大家下来看看吧,给个评价!!
简单的i18n插件一个简单的插件,用于使用Freemarker生成html页面和模板的本地化版本要使用它,请在本地构建它,然后将其添加到您的应用程序pom中: < plugin> < groupId>...${basedir}/src/main/webapp/pages/<...
5) 优秀的使用体验:JessMA的设计目标之一是提供良好的开发体验,尽量减少应用程序开发者的工作,API的设计力求简单、完整、明确。同时,JessMA为应用开发提供了大量Util工具,用来处理应用程序开发过程中通常会遇到...
简单的freemarker模板渲染案例,分析数据与模型加载应用
YMP是一个非常简单、易用的一套轻量级JAVA应用开发框架,设计原则主要侧重于简化工作任务、规范开发流程、提高开发效率,让开发工作像搭积木一样轻松是我们一直不懈努力的目标!主要技术特点:采用组件化、模块化...
代码仅供参考学习! 代码仅供参考学习!...MySQL数据库是应用最广泛的开源数据库,上手简单。 项目目前就用到以上技术,后续不排除会加入其他技术,但为了避免项目臃肿,不会让项目变成一个技术的全家桶。