用spring,rome实现rss,atom
2010-04-22 13:10
330 查看
spring 3 里面新增加了下面两个类,用来方便的实现rss和atom org.springframework.web.servlet.view.feed.AbstractRssFeedView org.springframework.web.servlet.view.feed.AbstractAtomFeedView 下面演示用spring 3实现rss,除了加入spring 3的web.servlet包外,还要加入rome-1.0.jar和jdom.jar 在spring配置文件中加入 Xml代码 <bean class="org.springframework.web.servlet.view.BeanNameViewResolver"/> 用于显示数据的Item Java代码 public class RssItem { private String title; private String author; private Date datePublished; private String description; private String link; } 用spring mvc 来处理一个地址请求 Java代码 @Controller public class FeedController { @RequestMapping("/rss") public String rss(Model model) { List<RssItem> rssItems = new ArrayList<RssItem>(); RssItem n = new RssItem(); n.setTitle("中国内地发现8例甲流病毒变异病例"); n.setDescription("世卫组织证实内地曾出现甲流病毒变种..."); n.setLink("http://news.163.com/09/1125/17/5OVTJVQF000120GU.html"); n.setAuthor("新华网"); n.setDatePublished(new Date()); rssItems.add(n); //加入一个Demo的list数据 model.addAttribute("rssItemList", rssItems); //频道的相关信息 model.addAttribute("feedTitle","网易头条新闻"); model.addAttribute("feedDesc","头条新闻"); model.addAttribute("feedLink","http://news.163.com/"); return "rssView"; } } 继承AbstractRssFeedView类,实现buildFeedMetadata,buildFeedItems方法 Java代码 @Component("rssView") public class RssView extends AbstractRssFeedView { @Override protected void buildFeedMetadata(Map<String,Object> model, Channel feed, HttpServletRequest request) { String feedTitle = (String)model.get("feedTitle"); String feedDesc = (String)model.get("feedDesc"); String feedLink = (String)model.get("feedLink"); feed.setTitle(feedTitle); feed.setDescription(feedDesc); feed.setLink(feedLink); } @Override protected List<Item> buildFeedItems(Map<String, Object> model, HttpServletRequest request, HttpServletResponse response) throws Exception { @SuppressWarnings("unchecked") List<RssItem> rssItems = (List<RssItem>) model.get("rssItemList"); List<Item> feedItems = new ArrayList<Item>(); for (RssItem rssItem : rssItems) { Item feedItem = new Item(); feedItem.setTitle(rssItem.getTitle()); feedItem.setAuthor(rssItem.getAuthor()); feedItem.setPubDate(rssItem.getDatePublished()); Description desc = new Description(); desc.setType("text/html"); desc.setValue(rssItem.getDescription()); feedItem.setDescription(desc); feedItem.setLink(rssItem.getLink()); feedItems.add(feedItem); } return feedItems; } }
相关文章推荐
- spring内置的AbstractRssFeedView实现rss文档
- Rss and atOM utilitiEs(ROME)
- WEB中使用ROME实现RSS服务
- webwork+freemarker轻松实现Rss,Atom
- 用C#实现RSS的生成和解析,支持RSS2.0和Atom格式
- 使用 RSS 和 Atom 实现新闻联合
- 使用 RSS 和 Atom 实现新闻联合
- spring-rss-atom
- 看看ROME对rss和atom的操作
- 用C#实现RSS的生成和解析,支持RSS2.0和Atom格式
- 使用Rome实现网站RSS发布的简单步骤
- 使用Rome实现网站RSS发布的简单步骤
- 使用Rome实现网站RSS发布的简单步骤
- Atom vs RSS
- spring Quartz基于配置文件和注解的实现
- Spring中IOC的实现
- Spring与Quartz的整合实现定时任务调度
- Spring架构详解之SpringAOP如何实现
- jquery + json + springMVC集成在controller中实现Ajax功能
- Spring AOP 实现原理