使用Rome实现网站RSS发布的简单步骤
2008-04-16 16:02
801 查看
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="package.inc.jsp"%>
<%@page import="org.jdom.*,com.sun.syndication.feed.synd.*,com.sun.syndication.io.SyndFeedOutput"%>
<%
int maxLength = 500;
out.clearBuffer();
SyndFeed feed = new SyndFeedImpl();
feed.setFeedType("rss_2.0");
feed.setTitle("Java世纪网,Enjoy Java, Enjoy Everyday");
feed.setLink("http://www.java2000.net");
feed.setDescription("Java世纪网的最新的50个帖子列表");
feed.setEncoding("UTF-8");
/**//*
Document doc = feed.outputJDom(feed.createWireFeed());
//create the XSL processing instruction
Map xsl = new HashMap();
xsl.put("href", "http://feeds.feedburner.com/~d/styles/rss2full.xsl");
xsl.put("type", "text/xsl");
xsl.put("media", "screen");
ProcessingInstruction pXsl = new ProcessingInstruction("xml-stylesheet", xsl);
doc.addContent(0, pXsl);
//create the CSS processing instruction
Map css = new HashMap();
css.put("href", "http://feeds.feedburner.com/~d/styles/itemcontent.css");
css.put("type", "text/css");
css.put("media", "screen");
ProcessingInstruction pCss = new ProcessingInstruction("xml-stylesheet", css);
doc.addContent(1, pCss);
*/
List<SyndEntry> entries = new ArrayList<SyndEntry>();
SyndEntry entry;
SyndContent description;
PostService ps = (PostService) Factory.getBean("PostService");
Collection<Post> pList = ps.findAll(-1, 0, 50);
for (Post p : pList) ...{
entry = new SyndEntryImpl();
entry.setTitle(p.getUser().getUsername()+"("+p.getUser().getNickName()+")"+(p.getIdParent()==0?"发表了":"回复了")+":"+p.getSubject());
entry.setLink("http://www.java2000.net/viewthread.jsp?tid=" + p.getId() + "");
entry.setPublishedDate(p.getDatetime());
description = new SyndContentImpl();
description.setType("text/html");
if(p.getContent().length()>maxLength)...{
description.setValue(p.getContent().substring(0,maxLength)+"<br/><br/>【内容太长,只显示了前"+maxLength+"字,更多内容请看全文】");
}else...{
description.setValue(p.getContent());
}
entry.setDescription(description);
entries.add(entry);
}
feed.setEntries(entries);
try ...{
SyndFeedOutput output = new SyndFeedOutput();
out.print(output.outputString(feed));
} catch (Exception ex) ...{
ex.printStackTrace();
}
%>
代码很简单,中间屏蔽的部分是我还没有测试的,自定义xsl的部分。
其他的都已经正常运行,测试地址 http://www.java2000.net/rss.jsp
相关文章推荐
- 使用Rome实现网站RSS发布的简单步骤
- 使用Rome实现网站RSS发布的简单步骤
- ASP实现简单的创建网站RSS内容摘要
- 简单几步:图解——VS2012发布网站详细步骤
- WEB中使用ROME实现RSS服务
- 使用Axis简单步骤发布Webservice
- 使用phpstudy+nat123实现网站发布(实现外网访问内网)
- PHP网站使用JavaScript和Iframe简单实现部分刷新效果
- 使用scrapy实现爬网站例子和实现网络爬虫(蜘蛛)的步骤
- 使用阿里云ECS发布网站的基本步骤
- cxf发布webservice 简单使用步骤备忘
- 使用Win7+IIS7发布网站或服务步骤
- 一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单,随着互联网业务的不断丰富,网站
- 如何简单的利用nginx实现多个网站的发布
- 使用discuz+phpstudy+nat123简单方便地搭建发布论坛网站
- 使用阿里云ECS发布网站的基本步骤
- j2ee 简单网站搭建:(八)使用 jquery-validate 实现页面验证入门
- vs2005简单的使用控件,实现网站常用的任意文本超链接
- 使用laravel开发网站时,如何实现前端导航栏共享数据二种简单的方法
- 简单几步:图解——VS2012发布网站详细步骤