rss spring 接口_spring mvc: rss(xml)输出
准备:
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)输出相关推荐
- rss spring 接口_spring 接口支持返回多种格式
1. 简介 本文介绍使用SpringMVC的后端服务如何通过配置来支持多种返回值类型(xml,json,html,excel) 这里的代码使用的是springboot,下载地址:https://git ...
- Spring MVC 无XML配置入门示例
Spring MVC 无XML(纯 Java)配置入门示例 本示例是从<Spring in Action, Fourth Edition>一书而来,涉及的是书中5.1节部分内容,书中其实说 ...
- spring框架mvc框架_Spring MVC测试框架入门–第2部分
spring框架mvc框架 这个迷你系列的第一个博客介绍了Spring MVC测试框架,并演示了其在单元测试Spring MVC Controller类中作为控制器而不是POJO进行单元测试的用途. ...
- RSS简述 及 Java构造RSS接口
RSS RSS(简易信息聚合)是一种消息来源格式规范,用以聚合经常发布更新数据的网站,例如博客文章.新闻.音频或视频的网摘.RSS文件包含全文或是节录的文字,再加上发布者所订阅之网摘数据和授权的元数据 ...
- java spring mvc 实例_spring mvc 简单实例
转至:http://blog.csdn.net/dingx/article/details/2242105 Spring Framework可以被使用在很多场合之中,考虑到目前大多数Java EE的项 ...
- Spring 3 MVC and XML example
Spring 3 MVC and XML example 本文转自Work Hard Work Smart博客园博客,原文链接:http://www.cnblogs.com/linlf03/p/520 ...
- spring 3.x 学习笔记_spring mvc、spring jdbc 实现网站的登录注册功能
使用spring mvc.spring jdbc 实现网站的登录注册功能 1. 据业务模型 创建model 一般实现序列化 2. 用spring 注解(@Repositor ...
- spring mvc示例_Spring MVC示例
spring mvc示例 Welcome to Spring MVC Example. Sometime back in Spring MVC Tutorial, I explained how to ...
- spring mvc国际化_Spring MVC国际化(i18n)和本地化(L10n)示例
spring mvc国际化 Welcome to the Spring Internationalization (i18n) tutorial. Any web application with u ...
最新文章
- tf.ones_like(tensor, dtype=None, name=None, optimize=True)示例
- 给GridView删除列添加删除提示
- 通过简单的Linux命令,编译一个C语言代码
- python初始化方法对应的变量是全局变量嘛_在Python中初始化全局变量的正确方法...
- Apache Spark中的自定义日志
- 升级nodejs至最新
- 【JSOI2007】【BZOJ1029】【codevs2913】建筑抢修,贪心与堆
- MFC笔记(2)OnCtrlColor
- jenkins 基础配置安装(Ⅰ)
- 谨以此文献给才毕业2--5年的朋友(转)
- Vue 中的 key 有什么作用?
- 雷达如何推动社会发展
- Webservice 学习笔记
- 百度地图瓦片下载工具(仅供学习)
- 【爬虫Practice2】爬取豆瓣高分电影
- IT人二十年后再定位
- HY-SRF05超声波测距
- 开发工具之IAR下载与安装
- 操作系统实验5 设备管理
- JavaScript(ES5)
热门文章
- java redirect 超时_会话超时后,Spring安全性不会重定向到上次请求的页面登录
- GaiGai----1
- android adb移植到arm,android-ndk – 为arm处理器构建android adb
- php 瓶颈,使用XHProf查找PHP性能瓶颈
- springboot响应结果超长(7.8M)浏览器无法接收
- Java中udp/tcp的发送和接收
- IntelliJ IDEA统计项目代码行数
- eureka server启动后端口变为8080问题解决
- 登录Ubuntu提示有软件包可以更新
- Debian 项目领导人职位已有三位侯选者