rss spring 接口_spring mvc: 生成RSS源

spring mvc: 生成RSS源

准备:

从相同的maven存储库页面下载 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

访问地址:

http://localhost:8080/gugua3/rss/getrss

项目: gugua3

包:springweb

配置文件:web.xml, applicationContext.xml, springweb-servlet.xml

web.xml

Archetype Created Web Application

contextConfigLocation

/WEB-INF/applicationContext.xml

encodingFilter

org.springframework.web.filter.CharacterEncodingFilter

encoding

UTF-8

encodingFilter

/*

org.springframework.web.context.ContextLoaderListener

springweb

org.springframework.web.servlet.DispatcherServlet

1

springweb

/

applicationContext.xml

xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:mvc="http://www.springframework.org/schema/mvc"

xmlns:context="http://www.springframework.org/schema/context"

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans.xsd

http://www.springframework.org/schema/mvc

http://www.springframework.org/schema/mvc/spring-mvc.xsd

http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context.xsd">

springweb-servlet.xml

将RSSFeedViewer.java作为视图文件

xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:mvc="http://www.springframework.org/schema/mvc"

xmlns:context="http://www.springframework.org/schema/context"

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans.xsd

http://www.springframework.org/schema/mvc

http://www.springframework.org/schema/mvc/spring-mvc.xsd

http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context.xsd">

RSSMessage.java

package springweb;

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;

}

}

//视图模板(相当于jsp)

RSSFeedViewer.java

获取RSSController传过来的值:

List listContent = (List) model.get("feedContent");

package springweb;

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 {

//xml说明

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

{

feed.setTitle("YiibaiPoint Dot com");

feed.setDescription("java Yiibai and Examples");

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

super.buildFeedMetadata(model, feed, request);

}

@Override

protected List buildFeedItems(Map model, HttpServletRequest request,

HttpServletResponse response) throws Exception {

// TODO Auto-generated method stub

List listContent = (List) model.get("feedContent");

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

for(RSSMessage tempContent: listContent)

{

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;

}

}

RSSController.java

package springweb;

import java.util.ArrayList;

import java.util.Date;

import java.util.List;

import org.springframework.stereotype.Controller;

import org.springframework.web.servlet.ModelAndView;

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

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

@Controller

public class RSSController {

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

public ModelAndView getFeedInRss()

{

List items = new ArrayList();

RSSMessage content = new RSSMessage();

content.setTitle("spring教程");

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

content.setSummary("你好教程教程.....");

content.setCreateDate(new Date());

items.add(content);

RSSMessage content2 = new RSSMessage();

content2.setTitle("spring mvc教程");

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

content2.setSummary("spring mvc教程教程....");

content2.setCreateDate(new Date());

items.add(content2);

ModelAndView mv = new ModelAndView();

mv.setViewName("rssViewer");

mv.addObject("feedContent", items);

return mv;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值