JSP 教程
1. JSP 教程 2. JSP 简介 3. JSP 开发环境搭建 4. JSP 结构 5. JSP 生命周期 6. JSP 语法 7. JSP 指令 8. JSP 动作元素 9. JSP 隐式对象 10. JSP 客户端请求 11. JSP 服务器响应 12. JSP HTTP 状态码 13. JSP 表单处理 14. JSP 过滤器 15. JSP Cookie 处理 16. JSP Session 17. JSP 文件上传 18. JSP 日期处理 19. JSP 页面重定向 20. JSP 点击量统计 21. JSP 自动刷新 22. JSP 发送邮件 23. JSP 标准标签库(JSTL) 24. JSP 连接数据库 25. JSP XML 数据处理 26. JSP JavaBean 27. JSP 自定义标签 28. JSP 表达式语言 29. JSP 异常处理 30. JSP 调试 31. JSP 国际化

JSP XML 数据处理

JSP XML 数据处理

当通过HTTP发送XML数据时,就有必要使用JSP来处理传入和流出的XML文档了,比如RSS文档。作为一个XML文档,它仅仅只是一堆文本而已,使用JSP创建XML文档并不比创建一个HTML文档难。


使用JSP发送XML

使用JSP发送XML内容就和发送HTML内容一样。唯一的不同就是您需要把页面的context属性设置为text/xml。要设置context属性,使用<%@page % >命令,就像这样:


<%@ page contentType="text/xml" %>

接下来这个例子向浏览器发送XML内容:


<%@ page contentType="text/xml" %>



<books>

   <book>

      <name>Padam History</name>

      <author>ZARA</author>

      <price>100</price>

   </book>

</books>

使用不同的浏览器来访问这个例子,看看这个例子所呈现的文档树。


在JSP中处理XML

在使用JSP处理XML之前,您需要将与XML 和XPath相关的两个库文件放在<Tomcat Installation Directory>\lib目录下:

books.xml文件:


<books>

<book>

  <name>Padam History</name>

  <author>ZARA</author>

  <price>100</price>

</book>

<book>

  <name>Great Mistry</name>

  <author>NUHA</author>

  <price>2000</price>

</book>

</books>

main.jsp文件:


<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<%@ 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 x:parse Tags</title>

</head>

<body>

<h3>Books Info:</h3>

<c:import var="bookInfo" url="http://localhost:8080/books.xml"/>

 

<x:parse xml="${bookInfo}" var="output"/>

<b>The title of the first book is</b>: 

<x:out select="$output/books/book[1]/name" />

<br>

<b>The price of the second book</b>: 

<x:out select="$output/books/book[2]/price" />

 

</body>

</html>

访问http://localhost:8080/main.jsp,运行结果如下:


BOOKS INFO:

The title of the first book is:Padam History 

The price of the second book: 2000


使用JSP格式化XML

这个是XSLT样式表style.xsl文件:


<?xml version="1.0"?>

<xsl:stylesheet xmlns:xsl=

"http://www.w3.org/1999/XSL/Transform" version="1.0">

 

<xsl:output method="html" indent="yes"/>

 

<xsl:template match="/">

  <html>

  <body>

   <xsl:apply-templates/>

  </body>

  </html>

</xsl:template>

 

<xsl:template match="books">

  <table border="1" width="100%">

    <xsl:for-each select="book">

      <tr>

        <td>

          <i><xsl:value-of select="name"/></i>

        </td>

        <td>

          <xsl:value-of select="author"/>

        </td>

        <td>

          <xsl:value-of select="price"/>

        </td>

      </tr>

    </xsl:for-each>

  </table>

</xsl:template>

</xsl:stylesheet>

这个是main.jsp文件:


<%@ 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 x:transform Tags</title>

</head>

<body>

<h3>Books Info:</h3>

<c:set var="xmltext">

  <books>

    <book>

      <name>Padam History</name>

      <author>ZARA</author>

      <price>100</price>

    </book>

    <book>

      <name>Great Mistry</name>

      <author>NUHA</author>

      <price>2000</price>

    </book>

  </books>

</c:set>

 

<c:import url="http://localhost:8080/style.xsl" var="xslt"/>

<x:transform xml="${xmltext}" xslt="${xslt}"/>

 

</body>

</html>

运行结果如下:

更多关于使用JSTL处理XML的内容请查阅JSP标准标签库