生成新闻的静态文件时用到的代码.仅供参考.请根据实际情况修改.
模板:
< html >
< head >
< title > 查看文章: $ {newsitem.title} </ title >
</ head >
< body >
< table width = " 100% " border = " 0 " cellpadding = " 0 " cellspacing = " 0 " bgcolor = " #FFFFFF " >
< tr >
< td >
< table width = " 95% " border = " 0 " align = " center " cellpadding = " 2 " cellspacing = " 6 " >
< tr >
< td height = " 10 " align = " left " colspan = 2 ></ td >
</ tr >
< tr >
< td align = " left " width = " 538 " >
< strong > $ {newsitem.title} </ strong > ( $ {newsitem.addtime} )
</ td >
< td align = " right " >
< a href = " index.jsp " > 返回 </ a >
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;
</ td >
</ tr >
< tr >
< td align = " left " valign = top colspan = 2 >
< hr align = " left " width = " 95% " size = " 1 " noshade color = " #cc0000 " >
</ td >
</ tr >
< tr >
< td colspan = 2 > $ {newsitem.showContent} </ td >
</ tr >
</ table >
< br >
</ td >
</ tr >
</ table >
</ body >
</ html >
代码:
import java.io. * ;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import freemarker.template. * ;
public class FreeMarkerTest
{
private final Log logger = LogFactory.getLog(getClass());
private Configuration freemarker_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);
}
protected Configuration getFreeMarkerCFG()
{
if ( null == freemarker_cfg)
{
// Initialize the FreeMarker configuration;
// - Create a configuration instance
freemarker_cfg = new Configuration();
// - FreeMarker支持多种模板装载方式,可以查看API文档,都很简单:路径,根据Servlet上下文,classpath等等
// htmlskin是放在classpath下的一个目录
freemarker_cfg.setClassForTemplateLoading( this .getClass(), " /htmlskin " );
}
return freemarker_cfg;
}
public boolean geneHtmlFile(String templateFileName,Map propMap, String htmlFilePath,String htmlFileName )
{
// @todo 从配置中取得要静态文件存放的根路径:需要改为自己的属性类调用
String sRootDir = " e:/webtest/htmlfile " ;
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 ;
}
}
}
相关推荐
springboot整合freemarker生成静态html的demo 主要讲解了通过模板生成html和通过字符串生成html
NULL 博文链接:https://fackyou200.iteye.com/blog/972795
freemarker生成静态HTML例子
freemarker生成静态页面------内含使用说明 freemarker生成静态页面------内含使用说明 freemarker生成静态页面------内含使用说明
freemarker创建静态网页的一个小例子
这是一个eclipse下创建的一个project,里面有一个freemarker生成html及一些语法示例
struts2+freemarker 生成静态页面,希望对大家有用!!!!
FreeMarker教你如何生成html静态页面源码
freeMarker整合struts2实例调用模板生成html页面,对于初学者肯定有用的
NULL 博文链接:https://goby2008.iteye.com/blog/627076
主要介绍了JAVA集成Freemarker生成静态html过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
给初学者一个简单的利用freemarker生成xml文件的例子
freemarker html生成pdf 通过freemarker 和html模板生成对应的pdf或者图片 参考使用,欢迎下载
那么我们就把把页面中所需要的样式放入FreeMarker文件中,然后将页面所需要的数据动态绑定,并放入Map中,通过调用FreeMarker模板文件解析类process()方法完成静态页面的生成。
freeMarker生成html实用例子
Freemarker网站静态化的实现实例源码
主要就是用servlet做的,freemarker和httpclient的静态化都封装好了工具类了,简单,有文档,可以看懂
用freemarker做模板,结合struts2生成静态页面功能,不要分,嘻嘻
NULL 博文链接:https://depravedangel.iteye.com/blog/443575
2.freemarker 写出来的页面一般都是xml格式友好的,也就是说你可以写出很规范的xhtml,而且还可以直接使用一些xml的代码格式化工具直接美化.而且很容易发现其中缺少或者嵌套错误的tag 3. 个人觉得freemarker 和taglib...