本文主要是介绍使用Rome实现网站RSS发布的简单步骤,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
使用Rome实现网站RSS发布的简单步骤 <script src="http://blog.csdn.net/count.aspx?ID=2297409&Type=Rank" type="text/javascript"></script> <% @ 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();
}
<% @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();
}
这篇关于使用Rome实现网站RSS发布的简单步骤的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!