当前位置: 首页 > 图文教程 > 网页制作 > HTML/XHTML教程 > RSS 开发教程

HTML/XHTML教程
HTML教程:DOCTYPE 的缩写
掌握常用的用于网页中引用内容的HTML标记
10个未被充分利用或被误解的HTML标签
网站超级链接的打开方式探讨
网页中flash wmode属性你会用吗?
XHTML教程:Transitional和Strict的区别
网页设计之5种简单的XHTML网页表单
制作主流邮箱能正常显示的HTML邮件的技巧
网页布局设计的简单原则
W3C教程(14):W3C RDF和OWL活动
W3C教程(16):其他的W3C活动
W3C教程(13):W3C WSDL 活动
W3C教程(15):W3C SMIL 活动
作用相似html标记:strong与em、q、cite、blockquote
html 基底网址标记
GET POST 区别详解
圆角矩形的html+css实现代码
HTML title 属性换行的办法
html tbody 用法
nofollow让评论和留言中的链接起到真正的作用

HTML/XHTML教程 中的 RSS 开发教程


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-04   浏览: 61 ::
收藏到网摘: n/a

RSS(Really Simple Syndication,真正简单的连锁)是一种 Web 内容连锁格式。RSS 成为通过 Web 连锁新闻内容的标准格式。作为最近与 Sun Microsystems 签署合同的一部分,我负责开发任何懂得 RSS、JavaServer Pages 和 HTML 的人便可以使用的“JSP 标签库”。taglib 主要面向用 RSS 收集新闻内容的 Web 站点的非技术性编辑人员。我的目标是开发在 Web 页中将简化使用 RSS 内容(0.91、0.92 和 2.0 版本)的 JSP 标签库。

RSS Utilities Package 是该项目的结果。它包括一套自定义 JSP 标签,这些标签弥补了 RSS Utilities Tag library 和灵活的 RSS 语法分析器。该文档说明了如何使用该语法分析器和 RSS Utilities Package 提供的库。在这里单击便可以下载第一个版本。该 zip 文件包含一个 jar 文件 rssutils.jar(该文件包含使用该工具所需的类)和一个 tld 文件(该文件定义从 RSS 文档中提取信息的 JSP 自定义标签)。

安装 taglib

尽管使用标签库很容易,但在安装时要求您了解 Web 的工作原理和如何去配置它。第一步是下载并解压包。一旦 zip 文件已经解压了,在 Web 应用程序的 /WEB-INF/lib 目录中放置一份 rssutils.jar 和 rsstaglib.tld 的副本。将下面的 taglib 定义添加至 Web 应用程序的 /WEB-INF/web.xml 文件:
<taglib>
<taglib-uri>/WEB-INF/rssutils.tld</taglib-uri>
<taglib-location>/WEB-INF/rssutils.tld</taglib-location>
</taglib>

使用 taglib

一旦 taglib 已经安装在 Web 应用程序中,按照以下步骤便可以在 JSP 页面中使用 taglib。首先,将下面一行添加至 JSP 页面的顶部:
<%@ taglib uri="/WEB-INF/rssutils.tld" prefix="rss" %>
其次,使用 feed 标签将 RSS feed 添加至 JSP 页面,如下例所示:
<rss:feed url="http://servlet.java.sun.com/syndication/rss_java_highlights-10.xml" feedId="javaSunCom"/>
"feed" 标签的 url 属性必须包含到 RSS 文档的 URL。"feed" 标签的 feedId 属性是任意的,可以设置为任何值。然而,我们建议该属性在标识 RSS feed 时要直观。如果应用程序在防火墙后面,可以使用名为 proxyAddress 和 proxyPort 的 "feed" 标签代理属性来设置代理属性。如果不知道代理服务器地址代理端口,请与网络管理员联系。下面是一个例子:
<rss:feed url="http://servlet.java.sun.com/syndication/rss_java_highlights-10.xml" feedId="example1" proxyAddress="129.149.246.4" proxyPort="8080"/>
一旦将一个或多个 RSS feed 添加到页面,您应能使用剩余的一套标签来从 feed 中提取几乎任何信息。下面是一个例子,说明如何提取在上面添加的 RSS feed 频道的标题:

<rss:channelTitle feedId="javaSunCom"/>

Taglib 示例

例 1 (RSS 0.91):
<rss:feed
url="http://servlet.java.sun.com/syndication/rss_java_highlights-XYZCompany-10.xml"
feedId="example1"/>
<b>Image: </b><rss:channelImage feedId="example1" asLink="true"/><br>
<b>Title: </b><rss:channelTitle feedId="example1"/><br>
<b>Link: </b><rss:channelLink feedId="example1" asLink="true"/><br>
<b>Description: </b><rss:channelDescription feedId="example1"/><br>
<ul>
<li><rss:itemTitle feedId="example1" index="0"/><br>
<rss:itemDescription feedId="example1" index="0"/><br><br>
<li><rss:itemTitle feedId="example1" index="1"/><br>
<rss:itemDescription feedId="example1" index="1"/><br>
</ul>

例 2 (RSS 0.92):
<rss:feed
url="http://static.userland.com/gems/backend/gratefulDead.xml" feedId="example2"/>
<b>Image: </b><rss:channelImage feedId="example2"/><br>
<b>Title: </b><rss:channelTitle feedId="example2"/><br>
<b>Link: </b><rss:channelLink feedId="example2" asLink="true"/><br>
<b>Description: </b><rss:channelDescription feedId="example2"/><br>
<ul>
<rss:forEachItem feedId="example2">
<li><rss:itemDescription feedId="example2"/><br><br>
</rss:forEachItem>
</ul>

例 3 (RSS 2.0):
<rss:feed
url="http://static.userland.com/gems/backend/rssTwo"