准备:

rss包插件

Rome 库及其依赖项rome-utils,jdom和slf4j

com.rometools

rome

1.8.0

com.rometools

rome-utils

1.8.0

org.jdom

jdom

2.0.2

org.slf4j

slf4j-api

1.7.7

需要Bean视图解析

同时需要 一个RSSFeedViewer.java(类似的java来实现view视图)

需要继承:org.springframework.web.servlet.view.feed.AbstractRssFeedView 并复写:buildFeedItems,buildFeedMetadata

视图名:rssViewer(id名)

RSS的基本元素

RSSMessage.java

package json;

import java.util.Date;

public class RSSMessage {

String title;

String url;

String summary;

Date createDate;

public String getTitle() {

return title;

}

public void setTitle(String title) {

this.title = title;

}

public String getUrl() {

return url;

}

public void setUrl(String url) {

this.url = url;

}

public String getSummary() {

return summary;

}

public void setSummary(String summary) {

this.summary = summary;

}

public Date getCreateDate() {

return createDate;

}

public void setCreateDate(Date createDate) {

this.createDate = createDate;

}

}

RSSFeedViewer视图view,继承AbstractRssFeedView(org.springframework.web.servlet.view.feed.AbstractRssFeedView)

并复写:buildFeedMetadata, buildFeedItems

其中:buildFeedMetadata是增加rss(xml)的说明性的内容,buildFeedItems对数据重新组长成需要的格式

其中:List list = (List) model.get("person"); 是RssController.java传递过来的

package json;

import java.util.ArrayList;

import java.util.List;

import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.view.feed.AbstractRssFeedView;

import com.rometools.rome.feed.rss.Channel;

import com.rometools.rome.feed.rss.Content;

import com.rometools.rome.feed.rss.Item;;

public class RSSFeedViewer extends AbstractRssFeedView {

@Override

protected List buildFeedItems(Map model, HttpServletRequest request,

HttpServletResponse response) throws Exception {

// TODO Auto-generated method stub

//获取controller渲染过来的数据

List list = (List) model.get("person");

List items = new ArrayList(list.size());

for(RSSMessage tempContent: list)

{

Item item = new Item();

Content content = new Content();

content.setValue(tempContent.getSummary());

item.setContent(content);

item.setTitle(tempContent.getTitle());

item.setLink(tempContent.getUrl());

item.setPubDate(tempContent.getCreateDate());

items.add(item);

}

return items;

}

@Override

protected void buildFeedMetadata(Map model, Channel feed, HttpServletRequest request) {

// TODO Auto-generated method stub

//设置头部信息

feed.setTitle("school");

feed.setDescription("suzhou school");

feed.setLink("http://www.sina.com.cn");

super.buildFeedMetadata(model, feed, request);

}

}

RssController.java

其中:mv.addObject("person", list) 是传递到RSSFeedViewer视图中去的

package json;

import java.util.ArrayList;

import java.util.Date;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestMethod;

import org.springframework.web.servlet.ModelAndView;

@Controller

public class RssController {

@RequestMapping(value="/rss/list", method=RequestMethod.GET)

public ModelAndView rss()

{

List list = new ArrayList();

RSSMessage rss = new RSSMessage();

rss.setTitle("张三");

rss.setUrl("http://www.sina.com.cn");

rss.setSummary("张三合肥市委书记,省委常委...");

rss.setCreateDate(new Date());

list.add(rss);

rss.setTitle("李四");

rss.setUrl("http://www.baidu.com");

rss.setSummary("李四省委秘书长,合肥市委副书记...");

rss.setCreateDate(new Date());

list.add(rss);

ModelAndView mv = new ModelAndView();

mv.setViewName("rssViewer");

mv.addObject("person", list);

return mv;

}

}

访问地址:http://localhost:8080/gugua3/rss/list

school

http://www.sina.com.cn

suzhou school

鏉庡洓

http://www.baidu.com

鏉庡洓鐪佸绉樹功闀匡紝鍚堣偉甯傚鍓功璁�...

Thu, 17 May 2018 03:51:46 GMT

鏉庡洓

http://www.baidu.com

鏉庡洓鐪佸绉樹功闀匡紝鍚堣偉甯傚鍓功璁�...

Thu, 17 May 2018 03:51:46 GMT

rss spring 接口_spring mvc: rss(xml)输出相关推荐

  1. rss spring 接口_spring 接口支持返回多种格式

    1. 简介 本文介绍使用SpringMVC的后端服务如何通过配置来支持多种返回值类型(xml,json,html,excel) 这里的代码使用的是springboot,下载地址:https://git ...

  2. Spring MVC 无XML配置入门示例

    Spring MVC 无XML(纯 Java)配置入门示例 本示例是从<Spring in Action, Fourth Edition>一书而来,涉及的是书中5.1节部分内容,书中其实说 ...

  3. spring框架mvc框架_Spring MVC测试框架入门–第2部分

    spring框架mvc框架 这个迷你系列的第一个博客介绍了Spring MVC测试框架,并演示了其在单元测试Spring MVC Controller类中作为控制器而不是POJO进行单元测试的用途. ...

  4. RSS简述 及 Java构造RSS接口

    RSS RSS(简易信息聚合)是一种消息来源格式规范,用以聚合经常发布更新数据的网站,例如博客文章.新闻.音频或视频的网摘.RSS文件包含全文或是节录的文字,再加上发布者所订阅之网摘数据和授权的元数据 ...

  5. java spring mvc 实例_spring mvc 简单实例

    转至:http://blog.csdn.net/dingx/article/details/2242105 Spring Framework可以被使用在很多场合之中,考虑到目前大多数Java EE的项 ...

  6. Spring 3 MVC and XML example

    Spring 3 MVC and XML example 本文转自Work Hard Work Smart博客园博客,原文链接:http://www.cnblogs.com/linlf03/p/520 ...

  7. spring 3.x 学习笔记_spring mvc、spring jdbc 实现网站的登录注册功能

    使用spring mvc.spring jdbc 实现网站的登录注册功能 1.        据业务模型 创建model 一般实现序列化 2.        用spring 注解(@Repositor ...

  8. spring mvc示例_Spring MVC示例

    spring mvc示例 Welcome to Spring MVC Example. Sometime back in Spring MVC Tutorial, I explained how to ...

  9. spring mvc国际化_Spring MVC国际化(i18n)和本地化(L10n)示例

    spring mvc国际化 Welcome to the Spring Internationalization (i18n) tutorial. Any web application with u ...

最新文章

  1. tf.ones_like(tensor, dtype=None, name=None, optimize=True)示例
  2. 给GridView删除列添加删除提示
  3. 通过简单的Linux命令,编译一个C语言代码
  4. python初始化方法对应的变量是全局变量嘛_在Python中初始化全局变量的正确方法...
  5. Apache Spark中的自定义日志
  6. 升级nodejs至最新
  7. 【JSOI2007】【BZOJ1029】【codevs2913】建筑抢修,贪心与堆
  8. MFC笔记(2)OnCtrlColor
  9. jenkins 基础配置安装(Ⅰ)
  10. 谨以此文献给才毕业2--5年的朋友(转)
  11. Vue 中的 key 有什么作用?
  12. 雷达如何推动社会发展
  13. Webservice 学习笔记
  14. 百度地图瓦片下载工具(仅供学习)
  15. 【爬虫Practice2】爬取豆瓣高分电影
  16. IT人二十年后再定位
  17. HY-SRF05超声波测距
  18. 开发工具之IAR下载与安装
  19. 操作系统实验5 设备管理
  20. JavaScript(ES5)

热门文章

  1. java redirect 超时_会话超时后,Spring安全性不会重定向到上次请求的页面登录
  2. GaiGai----1
  3. android adb移植到arm,android-ndk – 为arm处理器构建android adb
  4. php 瓶颈,使用XHProf查找PHP性能瓶颈
  5. springboot响应结果超长(7.8M)浏览器无法接收
  6. Java中udp/tcp的发送和接收
  7. IntelliJ IDEA统计项目代码行数
  8. eureka server启动后端口变为8080问题解决
  9. 登录Ubuntu提示有软件包可以更新
  10. Debian 项目领导人职位已有三位侯选者