出错的文件package com.firstfreeer;
import java.io.*;
import java.util.HashMap;
import java.util.Map; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import freeer.template.*;
/*
* Created on 2005-4-7
*
*/
/**
* 测试FreeMarker.
*
* @author scud
*
*/
public class FreeMarkerTest
{
private final Log logger = LogFactory.getLog(getClass());
private Configuration freeer_cfg = null;
public static void main(String[] args)
{
//@todo 自己的一个类
NewsItem aItem = null;
//@todo 装入新闻
//NewsItem = loadNewsItem(1);
FreeMarkerTest test = new FreeMarkerTest();
Map root = new HashMap();
root.put("newsitem", aItem);
String sGeneFilePath = "/tpxw/";
String sFileName = "1.htm";
boolean bOK = test.geneHtmlFile("/tpxw/view.ftl",root, sGeneFilePath,sFileName);
}
/**
* 获取freeer的配置. freeer本身支持classpath,目录和从ServletContext获取.
*/
protected Configuration getFreeMarkerCFG()
{
if (null == freeer_cfg)
{
// Initialize the FreeMarker configuration;
// - Create a configuration instance
freeer_cfg = new Configuration();
// - FreeMarker支持多种模板装载方式,可以查看API文档,都很简单:路径,根据Servlet上下文,classpath等等
//htmlskin是放在classpath下的一个目录
freeer_cfg.setClassForTemplateLoading(this.getClass(), "/htmlskin");
}
return freeer_cfg;
}
/**
* 生成静态文件.
*
* @param templateFileName 模板文件名,相对htmlskin路径,例如"/tpxw/view.ftl"
* @param propMap 用于处理模板的属性Object映射
* @param htmlFilePath 要生成的静态文件的路径,相对设置中的根路径,例如 "/tpxw/1/2005/4/"
* @param htmlFileName 要生成的文件名,例如 "1.htm"
*/
public boolean geneHtmlFile(String templateFileName,Map propMap, String htmlFilePath,String htmlFileName )
{
//@todo 从配置中取得要静态文件存放的根路径:需要改为自己的属性类调用
String sRootDir = "F:/HTML/st97/myweb" ;
try
{
Template t = getFreeMarkerCFG().getTemplate(templateFileName);
//如果根路径存在,则递归创建子目录
creatDirs(sRootDir,htmlFilePath);
File afile = new File(sRootDir +"/" +htmlFilePath + "/" + htmlFileName);
Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(afile)));
t.process(propMap, out);
}
catch (TemplateException e)
{
logger.error("Error while processing FreeMarker template " + templateFileName,e);
return false;
}
catch (IOException e)
{
logger.error("Error while generate Static Html File " + htmlFileName,e);
return false;
}
return true;
} public static boolean creatDirs(String aParentDir, String aSubDir)
{
File aFile = new File(aParentDir);
if (aFile.exists())
{
File aSubFile = new File(aParentDir + aSubDir);
if (!aSubFile.exists())
{
return aSubFile.mkdirs();
}
else
{
return true;
}
}
else
{
return false;
}
}
}
import java.io.*;
import java.util.HashMap;
import java.util.Map; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import freeer.template.*;
/*
* Created on 2005-4-7
*
*/
/**
* 测试FreeMarker.
*
* @author scud
*
*/
public class FreeMarkerTest
{
private final Log logger = LogFactory.getLog(getClass());
private Configuration freeer_cfg = null;
public static void main(String[] args)
{
//@todo 自己的一个类
NewsItem aItem = null;
//@todo 装入新闻
//NewsItem = loadNewsItem(1);
FreeMarkerTest test = new FreeMarkerTest();
Map root = new HashMap();
root.put("newsitem", aItem);
String sGeneFilePath = "/tpxw/";
String sFileName = "1.htm";
boolean bOK = test.geneHtmlFile("/tpxw/view.ftl",root, sGeneFilePath,sFileName);
}
/**
* 获取freeer的配置. freeer本身支持classpath,目录和从ServletContext获取.
*/
protected Configuration getFreeMarkerCFG()
{
if (null == freeer_cfg)
{
// Initialize the FreeMarker configuration;
// - Create a configuration instance
freeer_cfg = new Configuration();
// - FreeMarker支持多种模板装载方式,可以查看API文档,都很简单:路径,根据Servlet上下文,classpath等等
//htmlskin是放在classpath下的一个目录
freeer_cfg.setClassForTemplateLoading(this.getClass(), "/htmlskin");
}
return freeer_cfg;
}
/**
* 生成静态文件.
*
* @param templateFileName 模板文件名,相对htmlskin路径,例如"/tpxw/view.ftl"
* @param propMap 用于处理模板的属性Object映射
* @param htmlFilePath 要生成的静态文件的路径,相对设置中的根路径,例如 "/tpxw/1/2005/4/"
* @param htmlFileName 要生成的文件名,例如 "1.htm"
*/
public boolean geneHtmlFile(String templateFileName,Map propMap, String htmlFilePath,String htmlFileName )
{
//@todo 从配置中取得要静态文件存放的根路径:需要改为自己的属性类调用
String sRootDir = "F:/HTML/st97/myweb" ;
try
{
Template t = getFreeMarkerCFG().getTemplate(templateFileName);
//如果根路径存在,则递归创建子目录
creatDirs(sRootDir,htmlFilePath);
File afile = new File(sRootDir +"/" +htmlFilePath + "/" + htmlFileName);
Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(afile)));
t.process(propMap, out);
}
catch (TemplateException e)
{
logger.error("Error while processing FreeMarker template " + templateFileName,e);
return false;
}
catch (IOException e)
{
logger.error("Error while generate Static Html File " + htmlFileName,e);
return false;
}
return true;
} public static boolean creatDirs(String aParentDir, String aSubDir)
{
File aFile = new File(aParentDir);
if (aFile.exists())
{
File aSubFile = new File(aParentDir + aSubDir);
if (!aSubFile.exists())
{
return aSubFile.mkdirs();
}
else
{
return true;
}
}
else
{
return false;
}
}
}
解决方案 »
- 问个spring mvc 配置事物处理的问题..
- 急急急,很急 !求解JavaWeb异常!!!!
- 探索B/S架构思想
- 求tomcatPluginV3.zip
- 如何把某个页面的所有邮件地址提取出来呀
- 505 HTTP Version Not Supported 错误 请教高手
- JavaBeans中的事件模型
- 请问各位高手 如何生成2003/12/23 12:12;34 格式的日期,且此日期的类型为日期型的
- 在JSP中怎么四舍五入?
- bird_flying是个jsp新手,希望找个有经验的人学习一下,请发信到[email protected],多谢!!
- 求一个简单的javascript脚本,鼠标经过表格变色 离开恢复原来的颜色值?
- 求助:有关JSP中读取利用HTML编辑器存储的数据,怎么按WEB格式显示?急!
freeer_cfg.setClassForTemplateLoading(this.getClass(), "/htmlskin "); 在classes 建一个 htmlskin 文件夹
htmlskin应该是classes下面的一个文件夹 里面有对应的ok.ftl文件我的也是报这个错 这样就解决了 你试下 行不行