posts - 193,  comments - 520,  trackbacks - 0
作为CMS内容发布来说,将要显示的内容html化无疑是一个很基本的要求,这样可以提高整个系统的效率。
考虑一个内容节点Content,其中节点有个pagecontent的属性,这个属性用来存储用户在后台输入的内容,
内容+模板=显示,这里是:
内容+模板-->显示静态html
内容用FCK来编辑,模板也同样用FCK编辑,这里用freemarker无疑是一个好的选择。这里是个最简单的例子。
首先定义一个最简单的模板content.ftl
<html>
$
{content}
</html>
然后就是把内容填充进去:
 Configuration cfg = new Configuration();
 
//模板存储的目录
 cfg.setDirectoryForTemplateLoading(Path.getTemplateDirectory());
 
//默认
 cfg.setObjectWrapper(new DefaultObjectWrapper());
//填充数据        
Map root = new HashMap();
root.put(
"content", c.getPageContent());
     Template temp 
= cfg.getTemplate("content.ftl");
//发布日期
String date=c.getActivedate();
String filename 
= c.getId()+".html";
//创建目录
Path.createFold(Path.getWebCmsHtmlDirPath(),date);
Writer out 
= new OutputStreamWriter(new FileOutputStream(Path.getWebCmsHtmlDirPath()+"/"+date+"/"+filename));
temp.process(root, out);
out.flush();
其实就是这么简单!对html的管理就很容易了,基本的FILE操作

http://www.blogjava.net/ronghao 荣浩原创,转载请注明出处:)
posted on 2006-11-27 18:51 ronghao 阅读(5976) 评论(8)  编辑  收藏 所属分类: cms

FeedBack:
# re: 使用freemarker给cms生成静态html
2006-11-27 19:05 | tK
顶一下。  回复  更多评论
  
# re: 使用freemarker给cms生成静态html[未登录]
2007-03-16 10:45 | 老杨
你好.能不能给你的联系方式呢?QQ.msn.邮箱之类的..呢?  回复  更多评论
  
# re: 使用freemarker给cms生成静态html[未登录]
2007-03-16 15:27 | ronghao
ronghao100@hotmail.com  回复  更多评论
  
# re: 使用freemarker给cms生成静态html
2008-05-21 14:46 | zm
你好,谢谢你的cms(有关JCR的)这几篇文章,我都看了,对jcr有些认识了!
最近公司在用magnolia CMS,相信你应该知道这个开源的CMS,我把源码也DOWN下来组织了一下,也研究了一段时日了,自己懂的太少了,理不清它的工程是怎么组织的,不知道那些静态html页是怎么来的(不像我们平常的工程,Webapp下都有相对应的HTML页),虽然表面是我也知道是什么模板+填充的内容,用解析引擎生成的页面,但看源码也看不明白,还是弄不清怎么最后变成我们看到的前台页面的!
希望能占用你宝贵时间,不吝赐教!你能详细的解答下这个CMS实现的详细流程嘛吗?
magnolia的官网是: www.magnolia.info  回复  更多评论
  
# re: 使用freemarker给cms生成静态html
2008-05-21 15:37 | zm
补充:我申请加你的MSN了,我的e-mail是:3101400zm@163.com  回复  更多评论
  
# re: 使用freemarker给cms生成静态html[未登录]
2008-05-26 09:27 | ronghao
@zm
我对magnolia不太了解,另外你的问题也很泛泛。不如你们公司请个专业的咨询比较好,呵呵
  回复  更多评论
  
# re: 使用freemarker给cms生成静态html
2009-03-16 11:26 | 龙华城
老兄能给个完整的代码吗? 最好附件给个源码。   回复  更多评论
  
# re: 使用freemarker给cms生成静态html
2009-06-11 09:38 | e寒-modify
请问一下,我使用的是struts2+freeMarker,我在action里做了填充内容的工作,result到ftl文件,但是页面显示的是模板的内容,并没有把内容填充进去。指导一下!  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
 
<2007年3月>
25262728123
45678910
11121314151617
18192021222324
25262728293031
1234567

关注工作流和企业业务流程改进。现就职于ThoughtWorks。新浪微博:http://weibo.com/ronghao100

常用链接

留言簿(38)

随笔分类

随笔档案

文章分类

文章档案

常去的网站

搜索

  •  

最新评论

阅读排行榜

评论排行榜