makenews.java.svn-base

来自「一个实用的CMS管理」· SVN-BASE 代码 · 共 65 行

SVN-BASE
65
字号
package com.suncms.service.freemarker;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.HashMap;
import java.util.Map;

import com.suncms.comm.PureUtil;
import com.suncms.domain.Article;
import com.suncms.domain.News;
import com.suncms.domain.NewsFtl;
import com.suncms.domain.NewsHtml;


import freemarker.template.Configuration;
import freemarker.template.DefaultObjectWrapper;
import freemarker.template.Template;
import freemarker.template.TemplateException;

public class MakeNews {
	
	public String make(NewsHtml nh, NewsFtl newsFtl) {
		Configuration cfg = new Configuration();
		String realPath = newsFtl.getRealPath();
		String templatePath = realPath+"/WEB-INF/templates/news";
		String cDateStr = "news/"+PureUtil.getDateFormatStr("yyyyMMdd");
		String filePostfix = ".html";
		String path = realPath + "/" + cDateStr;
		String fileTimeName = PureUtil.getDateFormatStr("yyyyMMddhhmmss");
		String returnFileName = cDateStr + "/" + fileTimeName + filePostfix;
		String fileName = "";
		File newsDir = new File(path);
		if (newsDir.exists()) {
			fileName = path + "/" + fileTimeName + filePostfix;
		} else {
			newsDir.mkdirs();
			fileName = path + "/" + fileTimeName + filePostfix;
		}
		try {
			cfg.setDirectoryForTemplateLoading(new File(templatePath));
			cfg.setObjectWrapper(new DefaultObjectWrapper());
			Template newsTemplate = cfg.getTemplate(newsFtl.getTemplateName());
			Map root = new HashMap();
			root.put("news", nh);
			Writer out = new OutputStreamWriter(new FileOutputStream(fileName));
			try {
				newsTemplate.process(root, out);
			} catch (TemplateException e) {
				e.printStackTrace();
			}
			out.flush();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return returnFileName;
	}

	public static void main(String[] args) {
		// MakeNews makeNews = new MakeNews();
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?