Freemarker生成静态HTML页面实例

生成新闻的静态文件时用到的代码.仅供参考.请根据实际情况修改.

模板: 
< html > 
< head > 
  
< title > 查看文章: $ {newsitem.title} </ title >
Freemarker生成静态HTML页面实例
</ head >
Freemarker生成静态HTML页面实例
< body >
Freemarker生成静态HTML页面实例
< table width = " 100% " border = " 0 " cellpadding = " 0 " cellspacing = " 0 " bgcolor = " #FFFFFF " >
Freemarker生成静态HTML页面实例
< tr >
Freemarker生成静态HTML页面实例
< td >
Freemarker生成静态HTML页面实例
< table width = " 95% " border = " 0 " align = " center " cellpadding = " 2 " cellspacing = " 6 " >
Freemarker生成静态HTML页面实例
< tr >
Freemarker生成静态HTML页面实例
< td height = " 10 " align = " left " colspan = 2 ></ td >
Freemarker生成静态HTML页面实例
</ tr >
Freemarker生成静态HTML页面实例
< tr >
Freemarker生成静态HTML页面实例
< td align = " left " width = " 538 " > 
  Freemarker生成静态HTML页面实例
< strong > $ {newsitem.title} </ strong > ( $ {newsitem.addtime} )
Freemarker生成静态HTML页面实例
</ td >
Freemarker生成静态HTML页面实例
< td align = " right " >
Freemarker生成静态HTML页面实例
< a href = " index.jsp " > 返回 </ a >
Freemarker生成静态HTML页面实例
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;
Freemarker生成静态HTML页面实例
</ td >
Freemarker生成静态HTML页面实例
</ tr >
Freemarker生成静态HTML页面实例
< tr >
Freemarker生成静态HTML页面实例
< td align = " left " valign = top colspan = 2 >
Freemarker生成静态HTML页面实例
< hr align = " left " width = " 95% " size = " 1 " noshade color = " #cc0000 " >
Freemarker生成静态HTML页面实例
</ td >
Freemarker生成静态HTML页面实例
</ tr >
Freemarker生成静态HTML页面实例
< tr > 
    Freemarker生成静态HTML页面实例
< td colspan = 2 > $ {newsitem.showContent} </ td >
Freemarker生成静态HTML页面实例
</ tr >
Freemarker生成静态HTML页面实例
</ table >
Freemarker生成静态HTML页面实例
< br >
Freemarker生成静态HTML页面实例
</ td >
Freemarker生成静态HTML页面实例
</ tr >
Freemarker生成静态HTML页面实例
</ table >
Freemarker生成静态HTML页面实例
</ body >
Freemarker生成静态HTML页面实例
</ html >

 

代码:

 

import java.io. * ;
Freemarker生成静态HTML页面实例
import java.util.HashMap;
Freemarker生成静态HTML页面实例
import java.util.Map;
Freemarker生成静态HTML页面实例
Freemarker生成静态HTML页面实例
import org.apache.commons.logging.Log;
Freemarker生成静态HTML页面实例
import org.apache.commons.logging.LogFactory;
Freemarker生成静态HTML页面实例
import freemarker.template. * ;
Freemarker生成静态HTML页面实例

Freemarker生成静态HTML页面实例 
Freemarker生成静态HTML页面实例

Freemarker生成静态HTML页面实例
public class FreeMarkerTest
Freemarker生成静态HTML页面实例
 
 
private final Log logger = LogFactory.getLog(getClass()); 
 
private Configuration freemarker_cfg = null
 
 
 
public static void main(String[] args)
Freemarker生成静态HTML页面实例 

// @todo 自己的一个类 
  NewsItem aItem = null

// @todo 装入新闻 
// NewsItem = loadNewsItem(1); 
 
FreeMarkerTest test
= new FreeMarkerTest(); 

Freemarker生成静态HTML页面实例 Map root
= new HashMap();
Freemarker生成静态HTML页面实例 root.put(
" newsitem " , aItem);
Freemarker生成静态HTML页面实例
Freemarker生成静态HTML页面实例 String sGeneFilePath
= " /tpxw/ " ;
Freemarker生成静态HTML页面实例
Freemarker生成静态HTML页面实例 String sFileName
= " 1.htm " ;
Freemarker生成静态HTML页面实例
Freemarker生成静态HTML页面实例
boolean bOK = test.geneHtmlFile( " /tpxw/view.ftl " ,root, sGeneFilePath,sFileName);
Freemarker生成静态HTML页面实例
Freemarker生成静态HTML页面实例 }

Freemarker生成静态HTML页面实例
Freemarker生成静态HTML页面实例
Freemarker生成静态HTML页面实例Freemarker生成静态HTML页面实例

Freemarker生成静态HTML页面实例
protected Configuration getFreeMarkerCFG()
Freemarker生成静态HTML页面实例Freemarker生成静态HTML页面实例
Freemarker生成静态HTML页面实例 {
Freemarker生成静态HTML页面实例
if ( null == freemarker_cfg)
Freemarker生成静态HTML页面实例Freemarker生成静态HTML页面实例
Freemarker生成静态HTML页面实例 {
Freemarker生成静态HTML页面实例
// Initialize the FreeMarker configuration;
Freemarker生成静态HTML页面实例
// - Create a configuration instance
Freemarker生成静态HTML页面实例
freemarker_cfg = new Configuration();
Freemarker生成静态HTML页面实例
Freemarker生成静态HTML页面实例
// - FreeMarker支持多种模板装载方式,可以查看API文档,都很简单:路径,根据Servlet上下文,classpath等等
Freemarker生成静态HTML页面实例
Freemarker生成静态HTML页面实例
// htmlskin是放在classpath下的一个目录
Freemarker生成静态HTML页面实例
freemarker_cfg.setClassForTemplateLoading( this .getClass(), " /htmlskin " );
Freemarker生成静态HTML页面实例 }

Freemarker生成静态HTML页面实例
Freemarker生成静态HTML页面实例
return freemarker_cfg;
Freemarker生成静态HTML页面实例 }

Freemarker生成静态HTML页面实例
Freemarker生成静态HTML页面实例Freemarker生成静态HTML页面实例

Freemarker生成静态HTML页面实例
public boolean geneHtmlFile(String templateFileName,Map propMap, String htmlFilePath,String htmlFileName )
Freemarker生成静态HTML页面实例Freemarker生成静态HTML页面实例
Freemarker生成静态HTML页面实例 {
Freemarker生成静态HTML页面实例
// @todo 从配置中取得要静态文件存放的根路径:需要改为自己的属性类调用
Freemarker生成静态HTML页面实例
String sRootDir = " e:/webtest/htmlfile " ;
Freemarker生成静态HTML页面实例
Freemarker生成静态HTML页面实例
try
Freemarker生成静态HTML页面实例Freemarker生成静态HTML页面实例
Freemarker生成静态HTML页面实例 {
Freemarker生成静态HTML页面实例 Template t
= getFreeMarkerCFG().getTemplate(templateFileName);
Freemarker生成静态HTML页面实例
Freemarker生成静态HTML页面实例
// 如果根路径存在,则递归创建子目录
Freemarker生成静态HTML页面实例
creatDirs(sRootDir,htmlFilePath);
Freemarker生成静态HTML页面实例
Freemarker生成静态HTML页面实例 File afile
= new File(sRootDir + " / " + htmlFilePath + " / " + htmlFileName);
Freemarker生成静态HTML页面实例
Freemarker生成静态HTML页面实例 Writer out
= new BufferedWriter( new OutputStreamWriter( new FileOutputStream(afile)));
Freemarker生成静态HTML页面实例
Freemarker生成静态HTML页面实例 t.process(propMap, out);
Freemarker生成静态HTML页面实例 }

Freemarker生成静态HTML页面实例
catch (TemplateException e)
Freemarker生成静态HTML页面实例Freemarker生成静态HTML页面实例
Freemarker生成静态HTML页面实例 {
Freemarker生成静态HTML页面实例 logger.error(
" Error while processing FreeMarker template " + templateFileName,e);
Freemarker生成静态HTML页面实例
return false ;
Freemarker生成静态HTML页面实例 }

Freemarker生成静态HTML页面实例
catch (IOException e)
Freemarker生成静态HTML页面实例Freemarker生成静态HTML页面实例
Freemarker生成静态HTML页面实例 {
Freemarker生成静态HTML页面实例 logger.error(
" Error while generate Static Html File " + htmlFileName,e);
Freemarker生成静态HTML页面实例
return false ;
Freemarker生成静态HTML页面实例 }

Freemarker生成静态HTML页面实例
Freemarker生成静态HTML页面实例
return true ;
Freemarker生成静态HTML页面实例 }

Freemarker生成静态HTML页面实例
Freemarker生成静态HTML页面实例
Freemarker生成静态HTML页面实例
Freemarker生成静态HTML页面实例Freemarker生成静态HTML页面实例

Freemarker生成静态HTML页面实例
public static boolean creatDirs(String aParentDir, String aSubDir)
Freemarker生成静态HTML页面实例Freemarker生成静态HTML页面实例
Freemarker生成静态HTML页面实例 {
Freemarker生成静态HTML页面实例 File aFile
= new File(aParentDir);
Freemarker生成静态HTML页面实例
if (aFile.exists())
Freemarker生成静态HTML页面实例Freemarker生成静态HTML页面实例
Freemarker生成静态HTML页面实例 {
Freemarker生成静态HTML页面实例 File aSubFile
= new File(aParentDir + aSubDir);
Freemarker生成静态HTML页面实例
if ( ! aSubFile.exists())
Freemarker生成静态HTML页面实例Freemarker生成静态HTML页面实例
Freemarker生成静态HTML页面实例 {
Freemarker生成静态HTML页面实例
return aSubFile.mkdirs();
Freemarker生成静态HTML页面实例 }

Freemarker生成静态HTML页面实例
else
Freemarker生成静态HTML页面实例Freemarker生成静态HTML页面实例
Freemarker生成静态HTML页面实例 {
Freemarker生成静态HTML页面实例
return true ;
Freemarker生成静态HTML页面实例 }

Freemarker生成静态HTML页面实例 }

Freemarker生成静态HTML页面实例
else
Freemarker生成静态HTML页面实例Freemarker生成静态HTML页面实例
Freemarker生成静态HTML页面实例 {
Freemarker生成静态HTML页面实例
return false ;
Freemarker生成静态HTML页面实例 }

Freemarker生成静态HTML页面实例 }

Freemarker生成静态HTML页面实例}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值