以下是在java代码中引用freemark的代码片段
依赖的包spring3.0和freemark2.3.18(附件提供下载)
QuestionForm是以个普通的对象 替换成你自己对象即可
import java.io.*;
import java.util.*;
import org.springframework.core.io.Resource;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.core.io.support.ResourcePatternResolver;
import com.coderside.app.exam.web.*;
import freemarker.cache.FileTemplateLoader;
import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;
public class FreeMarkTools {
/**存放模板文件夹的路径***/
private static String baseDir = "classpath:conf/template";
private static Configuration cfg = new Configuration();
/**编码格式***/
private static String charset = "UTF-8";
public static void main(String[] args) {
FreeMarkTools.TemplateFactory("test.ftl");
}
/**
* 根据路径获取模板
* @param path
* @return
*/
public static Template TemplateFactory(String path) {
try {
ResourcePatternResolver r = new PathMatchingResourcePatternResolver();
Resource resource = r.getResource(baseDir);
File file = new File(resource.getURI());
FileTemplateLoader templateLoader = new FileTemplateLoader(file);
cfg.setTemplateLoader(templateLoader);
Template t = cfg.getTemplate(path, charset);
return t;
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
/**
* 根据指定的模板引用freenark生成字符串格式
* @param path
* @param root
* @return
* @throws TemplateException
* @throws IOException
*/
@SuppressWarnings("unchecked")
public static String createHtml(String path, List<QuestionForm> root) throws TemplateException, IOException {
Template t = TemplateFactory(path);
ByteArrayOutputStream bos = null;
StringBuffer sbuff = new StringBuffer();
Map map = null;
for (QuestionForm qf : root) {
bos = new ByteArrayOutputStream();
map = new HashMap();
map.put("qf", qf);
map.put("id", qf.getQuestionid());
Writer out = new OutputStreamWriter(bos, charset);
if (null != qf.getChooserItems()) {
t.process(map, out);
sbuff.append(new String(bos.toByteArray(), charset));
}
}
return sbuff.toString();
}
}
分享到:
相关推荐
Java使用freemark生成word,http://blog.csdn.net/op635915376/article/details/51644527源码
根据数据库表直接生成Controller、model、service、mapper、mybatis的xml文件。 使用方法:加压下载文件,导入eclipse,项目中附了一份txt的说明文档
java freemark list嵌套导出word
java freemark导出word,附带说明文档
包括freemarker.jar,模板xml以及java调用代码
1)代码生成主要依赖于freeMark模板,不同的项目需求可以通过修改freeMark模板来实现。 2)如果是后台管理系统,则可以生成管理系统基本的网站页面及其功能。其他系统则很难生成前端页面,主要困难在于模板不统一...
通过freemark模板构建mybatis的相关数据库表的javabean,xml文件,service,dao层自动生成代码,通过freemark模板构建mybatis的相关数据库表的javabean,xml文件,service,dao层自动生成代码
Freemark+struts2 Freemark Java项目Freemark生成静态页面及语法
此源码为freemarker的示范源码,内含详细的freemarker模板使用技术。
freemark 2.3.19 中文教程
freemark生成静态页面,直接导入该项目 使用JDK1.6。直接运行代码中的CreateHtmlWebSite.java, 即可在webroot下面生成MyWebSite.html静态页面。
FreeMark jar包,中文官方文档。FreeMark jar包,中文官方文档。
一些很不错的freemark资料及eclipse的freemark插件
freemark开发指南详解freemark开发指南详解freemark开发指南详解freemark开发指南详解freemark开发指南详解
freemark中文资料 freemark教程 freemark基础和高级教程
主要介绍了freemark标签的相关基础知识,基本上了解Freemark标签的应用
freemarker实现代码生成器详细教程
是一个基于 SpringBoot、Freemark 开发的个人博客系统,内置了一个 Admin后台,可以可视化的管理博客,不需要繁琐的配置,不需要操心各种主题之间的兼容性,容器化启动只需要执行一个命令,剩下的都是图形界面可以...