67,513
社区成员
发帖
与我相关
我的任务
分享
import other classes...
import com.sun.syndication.feed.synd.SyndFeed;
import com.sun.syndication.io.SyndFeedOutput;
public class RssAction extends DispatchAction {
private static final String MIME_TYPE = "application/xml; charset=UTF-8";
// Rome中RSS的可选标准
// rss_0.90, rss_0.91, rss_0.92, rss_0.93, rss_0.94, rss_1.0, rss_2.0, atom_0.3
private static final String RSS_TYPE = "rss_2.0";
public ActionForward newsFeed(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
NewsFeedBA newsFeedBA = new NewsFeedBA();
newsFeedBA.doExecute();
outputRssFeed(response, newsFeedBA.getFeed());
return null;
}
public ActionForward blogFeed(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
String uid = request.getParameter("userId");
BlogFeedBA blogFeedBA = new BlogFeedBA();
blogFeedBA.setUserId(uid);
blogFeedBA.doExecute();
outputRssFeed(response, blogFeedBA.getFeed());
return null;
}
//将SyndFeed写入HttpServletResponse
private boolean outputRssFeed(HttpServletResponse response, SyndFeed feed) {
boolean result = false;
feed.setFeedType(RSS_TYPE);
response.setContentType(MIME_TYPE);
SyndFeedOutput output = new SyndFeedOutput();
try {
output.output(feed, response.getWriter());
result = true;
} catch (IOException e) {
e.printStackTrace();
} catch (FeedException e) {
e.printStackTrace();
}
return result;
}
}