使用Rome实现网站RSS发布的简单步骤

2024-04-27 11:38

本文主要是介绍使用Rome实现网站RSS发布的简单步骤,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

使用Rome实现网站RSS发布的简单步骤   <script src="http://blog.csdn.net/count.aspx?ID=2297409&Type=Rank" type="text/javascript"></script> 文章指数:0   CSDN Blog推出文章指数概念,文章指数是对Blog文章综合评分后推算出的,综合评分项分别是该文章的点击量,回复次数,被网摘收录数量,文章长度和文章类型;满分100,每月更新一次。
<% @ page language = " java "  contentType = " text/html; charset=UTF-8 "  pageEncoding = " UTF-8 " %>
<% @include file = " package.inc.jsp " %>
<% @page  import = " org.jdom.*,com.sun.syndication.feed.synd.*,com.sun.syndication.io.SyndFeedOutput " %>
<%
  
int  maxLength  =   500 ;
  out.clearBuffer();
  SyndFeed feed 
=   new  SyndFeedImpl();
  feed.setFeedType(
" rss_2.0 " );
  feed.setTitle(
" Java世纪网,Enjoy Java, Enjoy Everyday " );
  feed.setLink(
" http://www.java2000.net " );
  feed.setDescription(
" Java世纪网的最新的50个帖子列表 " );
  feed.setEncoding(
" UTF-8 " );  
 
/* 
  Document doc = feed.outputJDom(feed.createWireFeed());
  //create the XSL processing instruction
  Map xsl = new HashMap();
  xsl.put("href", "
http://feeds.feedburner.com/~d/styles/rss2full.xsl");
  xsl.put("type", "text/xsl");
  xsl.put("media", "screen");
  ProcessingInstruction pXsl = new ProcessingInstruction("xml-stylesheet", xsl);
  doc.addContent(0, pXsl);
  //create the CSS processing instruction
  Map css = new HashMap();
  css.put("href", "
http://feeds.feedburner.com/~d/styles/itemcontent.css");
  css.put("type", "text/css");
  css.put("media", "screen");
  ProcessingInstruction pCss = new ProcessingInstruction("xml-stylesheet", css);  
  doc.addContent(1, pCss);  
  
*/

  
  List
< SyndEntry >  entries  =   new  ArrayList < SyndEntry > ();
  SyndEntry entry;
  SyndContent description;
  PostService ps 
=  (PostService) Factory.getBean( " PostService " );
  Collection
< Post >  pList  =  ps.findAll( - 1 0 50 );
  
for  (Post p : pList)  {
    entry 
= new SyndEntryImpl();
    entry.setTitle(p.getUser().getUsername()
+"("+p.getUser().getNickName()+")"+(p.getIdParent()==0?"发表了":"回复了")+":"+p.getSubject());
    entry.setLink(
"http://www.java2000.net/viewthread.jsp?tid=" + p.getId() + "");
    entry.setPublishedDate(p.getDatetime());
    description 
= new SyndContentImpl();
    description.setType(
"text/html");
    
if(p.getContent().length()>maxLength){
      description.setValue(p.getContent().substring(
0,maxLength)+"<br/><br/>【内容太长,只显示了前"+maxLength+"字,更多内容请看全文】");
    }
else{
      description.setValue(p.getContent());
    }

    entry.setDescription(description);
    entries.add(entry);
  }

  feed.setEntries(entries);
  
try   {
    SyndFeedOutput output 
= new SyndFeedOutput();
    out.print(output.outputString(feed));
  }
  catch  (Exception ex)  {
    ex.printStackTrace();
  }
 

这篇关于使用Rome实现网站RSS发布的简单步骤的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/940408

相关文章

golang版本升级如何实现

《golang版本升级如何实现》:本文主要介绍golang版本升级如何实现问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录golanwww.chinasem.cng版本升级linux上golang版本升级删除golang旧版本安装golang最新版本总结gola

SpringBoot中SM2公钥加密、私钥解密的实现示例详解

《SpringBoot中SM2公钥加密、私钥解密的实现示例详解》本文介绍了如何在SpringBoot项目中实现SM2公钥加密和私钥解密的功能,通过使用Hutool库和BouncyCastle依赖,简化... 目录一、前言1、加密信息(示例)2、加密结果(示例)二、实现代码1、yml文件配置2、创建SM2工具

Mysql实现范围分区表(新增、删除、重组、查看)

《Mysql实现范围分区表(新增、删除、重组、查看)》MySQL分区表的四种类型(范围、哈希、列表、键值),主要介绍了范围分区的创建、查询、添加、删除及重组织操作,具有一定的参考价值,感兴趣的可以了解... 目录一、mysql分区表分类二、范围分区(Range Partitioning1、新建分区表:2、分

MySQL 定时新增分区的实现示例

《MySQL定时新增分区的实现示例》本文主要介绍了通过存储过程和定时任务实现MySQL分区的自动创建,解决大数据量下手动维护的繁琐问题,具有一定的参考价值,感兴趣的可以了解一下... mysql创建好分区之后,有时候会需要自动创建分区。比如,一些表数据量非常大,有些数据是热点数据,按照日期分区MululbU

Spring IoC 容器的使用详解(最新整理)

《SpringIoC容器的使用详解(最新整理)》文章介绍了Spring框架中的应用分层思想与IoC容器原理,通过分层解耦业务逻辑、数据访问等模块,IoC容器利用@Component注解管理Bean... 目录1. 应用分层2. IoC 的介绍3. IoC 容器的使用3.1. bean 的存储3.2. 方法注

MySQL中查找重复值的实现

《MySQL中查找重复值的实现》查找重复值是一项常见需求,比如在数据清理、数据分析、数据质量检查等场景下,我们常常需要找出表中某列或多列的重复值,具有一定的参考价值,感兴趣的可以了解一下... 目录技术背景实现步骤方法一:使用GROUP BY和HAVING子句方法二:仅返回重复值方法三:返回完整记录方法四:

Python内置函数之classmethod函数使用详解

《Python内置函数之classmethod函数使用详解》:本文主要介绍Python内置函数之classmethod函数使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录1. 类方法定义与基本语法2. 类方法 vs 实例方法 vs 静态方法3. 核心特性与用法(1编程客

IDEA中新建/切换Git分支的实现步骤

《IDEA中新建/切换Git分支的实现步骤》本文主要介绍了IDEA中新建/切换Git分支的实现步骤,通过菜单创建新分支并选择是否切换,创建后在Git详情或右键Checkout中切换分支,感兴趣的可以了... 前提:项目已被Git托管1、点击上方栏Git->NewBrancjsh...2、输入新的分支的

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

Python实现对阿里云OSS对象存储的操作详解

《Python实现对阿里云OSS对象存储的操作详解》这篇文章主要为大家详细介绍了Python实现对阿里云OSS对象存储的操作相关知识,包括连接,上传,下载,列举等功能,感兴趣的小伙伴可以了解下... 目录一、直接使用代码二、详细使用1. 环境准备2. 初始化配置3. bucket配置创建4. 文件上传到os