2008-03-06
将ext2 的feed改到java环境下运行
晚上坐下来,把ext2中的feed示例,改到java环境下运行,增加了在数据库中动态添加feed的功能。
java里面处理RSS的类库感觉有点杂,选了一个syndication用了一下,感觉还可以。
返回feed的方法,这个方法实在太简单
写个方法,有点守旧,老的struts,用2.0,大同小异~~
整体来说,没有什么难的,挺顺的,输出的 xml要处理一下,里面的<dc:creator>要做一下替换。别的没什么~~
附个js 包,跟示例没什么差别,用示例就行~~
java里面处理RSS的类库感觉有点杂,选了一个syndication用了一下,感觉还可以。
返回feed的方法,这个方法实在太简单
public SyndFeed getSyndFeed(String url) {
// TODO Auto-generated method stub
URL feedUrl;
SyndFeedInput input;
SyndFeed feed=null;
try {
feedUrl = new URL(url);
input= new SyndFeedInput();
feed= input.build(new XmlReader(feedUrl));
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FeedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return feed;
}
写个方法,有点守旧,老的struts,用2.0,大同小异~~
public ActionForward parseFeed(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
Map params = super.getRequestParameterMap(request);
String feedUrl = "";
String json = "";
if (params.containsKey(StringPool.FEED_FEED)) {
if (params.get(StringPool.FEED_FEED) != null) {
feedUrl = params.get(StringPool.FEED_FEED).toString();
}
}
if (StringUtils.isEmpty(feedUrl)) {
String feedId = "";
if (params.containsKey(StringPool.ENTITY_ID)) {
feedId = params.get(StringPool.ENTITY_ID).toString();
}
if (StringUtils.isNotEmpty(feedId)) {
Feed feed = (Feed) this.getEntity(Feed.class, feedId);
feedUrl = feed.getUrl();
}
}
if (StringUtils.isNotEmpty(feedUrl)) {
// json=this.getFeedParseService().getAllFeeds(feedUrl);
// this.jsonPrint(response, json);
SyndFeedOutput output = new SyndFeedOutput();
SyndFeed feed = this.getFeedParseService().getSyndFeed(feedUrl);
response.setCharacterEncoding("UTF-8");
try {
response.setContentType("text/xml ");
PrintWriter out = (PrintWriter) response.getWriter();
String feedContent = output.outputString(feed).toString();
out.print(feedContent);
// 发布为feed
// output.output(feed, response.getWriter());
} catch (FeedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return null;
}
整体来说,没有什么难的,挺顺的,输出的 xml要处理一下,里面的<dc:creator>要做一下替换。别的没什么~~
附个js 包,跟示例没什么差别,用示例就行~~
发表评论
提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则
- 浏览: 44139 次
- 性别:


- 详细资料
搜索本博客
我的相册
Faceye基础版(开源)新建标签页
共 24 张
共 24 张
链接
最新评论
-
Faceye基础版(开源)介绍 ...
可以支持其它数据库,数据库无关的,DAO主要为Hibernate,目前已知有朋友 ...
-- by ecsun -
Faceye基础版(开源)介绍 ...
能否支持其他数据库
-- by netwalkerli -
Faceye基础版(开源)介绍 ...
Faceye刚刚起步,还有很多不完善的地方需要进一步完善,可以给大伙带来欢喜,是 ...
-- by ecsun -
Faceye基础版(开源)介绍 ...
谢谢你奉献
-- by lzmhehe -
Faceye基础版(开源)介绍 ...
目前已知已经有很多朋友安装成功了,MySQL数据库导入历来存在编码等一系列问题, ...
-- by ecsun






评论排行榜