JSP/FreeMarker生成RSS
RSS2.0在网络上大行其道,各种网站都加上RSS支持,关于RSS规范,可以浏览一下 http://blogs.law.harvard.edu/tech/rss
在计划生成RSS文件的时候,顺便搜索了一下JIRA和Confluence的程序,发现它们分别是用模板方式和JSP动态页面来展示的.
于是我也想到两种方式:
1.用FreeMarker生成静态文件,适用于更新不是很频繁的内容.
2.用JSP动态展示,适合更新频率高,种类繁多的内容.
还是以本站的新闻举例,其中的新闻信息类参考
http://www.jscud.com/srun/news/viewhtml/3_2005_8/76.htm
(一) FreeMarker方式.
根据RSS的规范,得到模板如下:
<?xml
version="1.0" encoding="UTF-8" ?>
<rss
version="2.0">
<channel>
<title>JScud
Develop</title>
<link>http://www.jscud.com/</link>
<language>zh-cn</language>
<description >JScud
Develop By Scud</description>
<webMaster>xxx@21cn.com(scud)</webMaster>
<lastBuildDate>${rssutil.formatRssDate(now)}</lastBuildDate>
<#list newslist as onenews>
<item>
<title>${onenews.title?xml}</title>
<link>http://www.jscud.com/srun/news/viewhtml/${onenews.htmlFilePath}/${onenews.nid}.htm</link>
<pubDate>${rssutil.formatRssDate(onenews.addtime)}</pubDate>
<description><![CDATA[
${rssutil.formatRssCData(onenews.showContent)}
]]>
</description>
</item>
</#list>
</channel>
</rss>
其中的网址和网站名称可以根据自己的实际情况修改.
我每次取出最新的20条文章来生成RSS,不过内容比较多,生成的RSS文件比较大,看到有的网站的description只是放了文章摘要的内容,这样文件就小多了.总之是根据自己的需求设计吧.
其中用到的RssUtil函数库的函数如下(日期的函数参考上一篇文章):
/**
* 把]]>替换为]]>
* @param content 内容
* @return
格式化后的内容
*/
public static String formatRssCData(String content
相关文档:
有的页面需要每次点击进去都动态更新,而不是读取缓存中的页面。
在JSP中可以这样实现:
<%
request.setCharacterEncoding("GBK");
response.addDateHeader("Expires",0);
response.setHeader("Pragma","no-cache");
response.setHeader("Cache-Control","no-cache");
%> ......
现在主流的网站开发语言无外乎asp、php、asp.net、jsp等。
网页从开始简单的hmtl到复杂的服务语言,走过了10多个年头,各种技术层出不穷,单个的主流技术也在不断翻新的版本,现在分析下各种语言的区别、优势、劣势、开发注意事项!
HTML:当然这是网页最基本的语言,每一个服务器语言都需要它的支持,要学习,这个肯定是开 ......
第一步:JDK与Tomcat等的下载与配置
最新的JDK为6.0(jdk-6u12-windows-i586-p.exe),tomcat为6.0(apache-tomcat-6.0.18.exe)
开发环境:
JDK: jdk-6u12-windows-i586-p.exe
下载地址:http://java.sun.com/javase/downloads/index.jsp
Tomcat:apache-tomcat-6.0.18.exe
下载地址:http://tomcat.a ......
在jsp中,如果在url中传递中文时会出现乱码,在网上关于这一问题的解决方法五花八门,但都不是很奏效!其实解决方法非常简单: 第一步:编码(以传递的参数为str为例) 在传递数据前将str进行编码Java.net.URLEncoder.encode(str) 第二步:解码 在获取数据端将得到的数据进行解码 new String(str.getBytes("ISO8859_1"))
......
JSP调用JavaBean在网页上动态生成柱状图
我们经常要在网页看到一些动态更新的图片,最常见的莫过于股票的K线图,本文试图通过一个简单的实例,向大家展示如何通过JSP 调用JavaBean在网页上动态生成柱状图。
背景:本人最近在为某统计局开发项目时,涉及到在网页上动态生成图片的问题,费了一天的时间,终于搞定,为帮助大 ......