闲来无事写了一个java生成RSS的小组件,本人没有参考过其他的开源的组件,不过个人认为这种输出方式比较易用,
主要是用到了java的反射机制.
大概功能:
在你的PO里面定义某些annotaions 如:Author,Description,Guid,Link,Param,PubDate,Title
和你需要生成RSS里面的标签是同名的
当你从数据库取值返回List之后 值就已经进去了..
整个调用过程如下:
//这个list是从数据库取的
List placeList =placeService.getPlaceList(cecondition, pager, request);
//这个类是创建RSS模板以及生成XML格式的类
RssTemplet rssTemplet=RssTemplet.newInstance();
Channel channel;
try {
//生成具体的RSS模板
channel = rssTemplet.createRssTemplet(placeList);
//设置标题头信息
channel.setTitle("uuke 场所");
channel.setDescription("uuke 吃喝玩乐场所列表");
channel.setLink("http://www.uuke.cn");
channel.setGenerator("长沙最大的吃喝玩乐社区");
//具体的列表项
Set items=channel.getItems();
Iterator iterator=items.iterator();
while(iterator.hasNext()){
Item item=(Item)iterator.next();
item.setLink("http://www.uuke.cn/place/go_"+ item.getParams("placeId") +".html");
item.setDescription(
"<div id=\"box\">"+
"<img src=\"http://www.uuke.cn/"+ item.getParams("isimage") +"_2.gif\" />"+
"<p>地址:"+ item.getParams("placeAddr") +"</p>"+
"<p>电话:"+ item.getParams("homePhone") +"</p>"+
"<p>平均消费:"+ item.getParams("avgMonly") +"元/人</p>"+
"<p>"+ item.getDescription() +"</p>"+
"</div>"
);
item.setAuthor("uuke.cn");
item.setGuid(item.getLink());
}
sb=rssTemplet.createRss(channel);
} catch (Exception e) {
e.printStackTrace();
}
特别要说明的是item.getParams()
在RSS里面有一个link标签 作用是可以根据这个Link标签跳到具体的页面.
但这个时候需要得到对象的ID 或者其他的信息,才能跳过去.
所以你只需要在PO里面使用 params 的annotaion 来定义你的字段就可以获取到值
如
@Param
private Long id;
//gets sets
.....
item.getParams("id");就能取到
或
@Param("p_id")
private Long id;
//gets sets
item.getParams("p_id");
也能取到
.....
具体的请看源码..
查看效果 http://www.uuke.cn/place/findTypePlace---1---rss.html
分享到:
- 2009-02-24 12:14
- 浏览 2152
- 评论(0)
- 论坛回复 / 浏览 (0 / 2786)
- 查看更多
相关推荐
### 利用Oracle JAVA 组件动态生成RSS 的方法 #### 摘要 随着Web2.0技术的发展,RSS作为一种高效的数据交换规范被广泛应用。本文介绍了一种利用Oracle Java Bean组件动态生成RSS文件的方法,该方法能够有效提高...
### 利用Oracle JAVA组件动态生成RSS的方法 #### 关键知识点概述 本文主要探讨了一种高效利用Oracle数据库的JAVA组件(具体为`JSPDBUtil`包中的`JavaBean`组件)来动态生成RSS文件的技术方案,适用于Web内容管理...
这个JAVA实现的RSS订阅器利用了Spring MVC框架,提供了一个高效且灵活的解决方案来获取和显示RSS feed内容。Spring MVC是Spring框架的一个模块,专门用于构建Web应用程序,它采用Model-View-Controller(MVC)设计...
通用网站RSS输出生成器 v2.0A 拥有以下主要功能和特点: 1、自定义网站信息。 2、自定义数据库信息,可以对多个已经存在的数据库进行操作。 3、2.0A目前可以连接ACCESS、SQL Server两种类型的数据库。4...
在RSS开发中,EXML可以帮助解析和生成RSS feed的XML结构,提供了一种高效的替代方法,相比使用DOM或SAX解析器,EXML在处理XML文档时更加简洁和高效。 2. **RSSLibJ-1.0RC2.jar**:RSSLibJ是一个Java库,专门设计...
- 用于生成RSS的JSP页面,可能包含从数据库提取数据的逻辑和构建XML结构的代码。 - 一个处理用户交互的JSP页面,如订阅新源、查看内容和设置选项。 - 服务器端的JavaBeans或Servlet,用于处理数据操作和业务逻辑。 -...
Java生成密钥的实例 Java电子相册源码.rar Java目录监视器源程序.zip JAVA短信网关平台(值得一看).rar Java绘制图片火焰效果.rar Java编写的HTML浏览器.rar Java编写的山寨QQ,多人聊天+用户在线.rar Java编写的...
Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...
Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...
Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...
Rome库可以解析和生成RSS和Atom feeds,简化了RSS内容的提取和操作。 3. **HTTP客户端库**:为了从远程服务器获取RSS feed,你需要一个HTTP客户端库,如Apache HttpClient或Java内置的HttpURLConnection。这些库...
Java生成密钥的实例 1个目标文件 摘要:Java源码,算法相关,密钥 Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、...
RSS阅读器模块是一种用于收集、解析和展示RSS(Really Simple Syndication)源的软件组件,常见于新闻聚合、博客订阅和其他在线内容分享平台。RSS是一种XML格式,它允许网站发布可订阅的内容摘要,使得用户无需直接...
Java生成密钥的实例 1个目标文件 摘要:Java源码,算法相关,密钥 Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、...
1. **RSS生成器**:这是插件的核心部分,负责根据网站内容动态生成RSS XML文件。它会抓取网站上的新闻、博客文章或者其他指定内容,按照RSS规范组织成XML结构。 2. **配置文件**:为了适应不同网站的需求,RSSMaker...
Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...
Java生成密钥的实例 1个目标文件 摘要:Java源码,算法相关,密钥 Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、...
Servlet是Java Web开发中的一个核心组件,它允许服务器端动态生成内容。在这个场景中,我们将讨论如何使用Servlet来实现RSS订阅功能,并生成XML文件。 首先,理解RSS的基本结构至关重要。RSS文件通常是一个XML文档...
1. **RSS生成器**:这是一个关键组件,它扫描网站内容,检测更新,并将这些内容转化为符合RSS规范的XML文档。 2. **用户界面**:提供给管理员配置RSS设置的界面,例如选择要监控的页面、设置更新频率等。 3. **API...