首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

在java代码中摘引freemark

2012-09-23 
在java代码中引用freemark以下是在java代码中引用freemark的代码片段依赖的包spring3.0和freemark2.3.18(

在java代码中引用freemark
以下是在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();}}

热点排行