<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    瘋狂

    STANDING ON THE SHOULDERS OF GIANTS
    posts - 481, comments - 486, trackbacks - 0, articles - 1
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    Spring rss 實例

    Posted on 2012-05-09 10:01 瘋狂 閱讀(2894) 評論(0)  編輯  收藏 所屬分類: spring

    Spring rss 實例

    從spring 3 開始可以使用內置的方法來實現實現rss或者atom
    org.springframework.web.servlet.view.feed.AbstractRssFeedView
    org.springframework.web.servlet.view.feed.AbstractAtomFeedView

     

    本實例使用org.springframework.web.servlet.view.feed.AbstractRssFeedView來實現rss

    步驟

    1:加入相關jar

    加入rome-x.jarjdom.jar

    2:加入視圖解析(這里使用BeanNameViewResolver,此resolver的原理是返回的viewNamespringcontext里面的name相同),如果有多個resolver需要設置order

    <bean class="org.springframework.web.servlet.view.BeanNameViewResolver">
           
    <property name="order" value="0"/>
        
    </bean>
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/WEB-INF/view/" p:suffix=".jsp">
           
    <property name="order" value="1"/>
    </bean>


    3:實現RssView,繼承自AbstractRssFeedView

    @Component("rssView")//這個地方的配置要和后面controller的viewName一樣
    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.setValue(rssItem.getDescription());   
                    feedItem.setDescription(desc);   
                    feedItem.setLink(rssItem.getLink());   
                    feedItems.add(feedItem);   
                }
           
                
    return feedItems;   
            }
       
        }

     


     4 Controller

    @Controller
    @RequestMapping(value 
    = "rss")
    public class RssMgr {
        @RequestMapping(value 
    = "test_rss.htm")
        
    public String testRss(Model model) {
           List
    <RssItem> rssItems = new ArrayList<RssItem>();
           
    for (int i = 0; i < 5; i++{
               RssItem n 
    = new RssItem();
               n.setTitle(
    "第【"+i+"】條spring Rss測試消息標題");
               n.setDescription(
    "第【"+i+"】測試消息內容說明");
             n.setLink(
    "http://localhost:8080/springdemo/someurl.html");
               n.setAuthor(
    "作者:瘋狂");
               n.setDatePublished(
    new Date());
               rssItems.add(n);
           }

           model.addAttribute(
    "rssItemList", rssItems);   
           
    // 頻道的相關信息
           model.addAttribute(
    "feedTitle""spring RSS 測試");
           model.addAttribute(
    "feedDesc""spring RSS 測試頭條新聞");
           model.addAttribute(
    "feedLink",
           http:
    //localhost:8080/springdemo/rss/test_rss.htm);

           
    return "rssView";
        }


    }

     

    訪問:http://localhost:8080/springdemo/rss/test_rss.htm

    返回:

     

     

    主站蜘蛛池模板: 在线aⅴ亚洲中文字幕| 成人免费大片免费观看网站| 亚洲www在线观看| 精品亚洲综合在线第一区| 女人毛片a级大学毛片免费| 无码少妇精品一区二区免费动态| 另类专区另类专区亚洲| 亚洲成人网在线播放| 亚洲人成网站在线观看播放| 国产精品国产午夜免费福利看| 亚洲最大免费视频网| 暖暖免费在线中文日本| CAOPORN国产精品免费视频| 国产成人va亚洲电影| 亚洲日本VA午夜在线影院| 亚洲国产精品综合一区在线| 亚洲精品色午夜无码专区日韩| 一本色道久久88亚洲综合| 夭天干天天做天天免费看| 免费视频爱爱太爽了| 69精品免费视频| 午夜视频免费在线观看| 永久免费AV无码网站国产| 9久久免费国产精品特黄| 特色特黄a毛片高清免费观看| 九九精品国产亚洲AV日韩| 亚洲日韩国产二区无码| 亚洲成_人网站图片| 亚洲一卡一卡二新区无人区| 亚洲日本va在线观看| 亚洲一区免费视频| 精品亚洲AV无码一区二区| 亚洲一卡2卡4卡5卡6卡在线99| 亚洲av永久无码嘿嘿嘿| 国产精品亚洲精品观看不卡| 久久精品国产亚洲AV蜜臀色欲| 中文无码亚洲精品字幕| 亚洲AV无码一区二区三区性色| 亚洲AV无码一区二区三区久久精品| 亚洲欧美日韩中文高清www777 | 午夜亚洲国产精品福利|