CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

您现在的位置: IT专家网 > Web服务子站 > 技巧

在Web服务客户端应用JSP

作者: William Brogden,  出处:TechTarget, 责任编辑: 叶江, 
2007-09-03 09:41
  JavaServer Pages,也叫做JSP,是用来让Web开发人员在不需要Java代码的情况下实现动态HTML页面创建的Java servlet的扩展技术

  我们使用的Web服务是关联到新闻Web服务的TechTarget的RSS种子。原先的RSS代表了Rich Site Summary,但今天,RSS则表示Really Simple Syndication。不管怎样,RSS使用到很简单的XML文件格式,很适合用JSTL来解析。我的JSP页面用两个tag开始,它们指定了被使用的taglib和在tag中出现的命名空间的前缀。此外,还有一些标准的HTML标签。

  <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
  <%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>
  <html><head><title>JSTL: XML Demo</title>
  </head><body bgcolor="#FFFFFF">
  <h1>Test RSS Feed from Techtarget</h1>

  接着,我们用tag来定义如何获得源文件,并用保存在局部变量“document”中的引用解析成标准Java XML文档对象。

  <c:import var="docString" url="http://rss.techtarget.com/80.xml"/>
  <x:parse var="document" doc="${docString}"/>

  XML解析工作如下:我已经添加了行数以方便解释。第一行用xml taglib的“set”动作把"channel"变量设为XML文档的根元素。第二行把"description"tag的内容加到HTML标签中。第三行是用于格式化未标号清单的HTML标签。

1. <x:set var="channel" select="$document//channel" />
2. <p>< x:out select="$channel//description"/></p>
3. <ul>
4. <x:forEach select="$channel//item" >
5.   <li><a href='<x:out select="link" />' >
6.     <x:out select="title"/></a></li>
7. </x:forEach>
8. < /ul>

  RSS"channel"元素包含代表每个新闻标题的"item"元素。每个"item"元素有一个"title",一个指向源网站的"link",一大端描述以及一些其它元素。Web开发人员可以用很多方法在不同的JSP中使用这些数据。本例中,我只用了一个简单的表示层。

  接着,我们用forEach tag把所有的"item"元素输出到文档中。遵循XPath格式的"select"属性为item元素创建一个nodelist。在第五行,我把"link"元素的内容嵌入到HTML标签中作为超连接。而在第六行,我用"title"元素的内容创建被显示的文本。

  用浏览器打开Tomcat Web服务器中的JSP页面,将看到标题为"Test RSS Feed from Techtarget,"的页面,以及包含RSS描述的段落和一列标题。每个标题都是可以点击的指向对应页面的链接。

  TechTarget独家授权文章,严禁转载

  查看本文国际来源 >>

共2页。 9 1 2

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅

       
天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i