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,需要两个库文件 XercesImpl.jar xalan.jar

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文件:

<%@ 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>

使用JSP格式化XML

<?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>

最新文章

  1. 解决java.lang.IncompatibleClassChangeError: Implementing class
  2. GIS基本概念
  3. 通过“回文字算法”复习C++语言。
  4. 【POJ-2482】Stars in your window 线段树 + 扫描线
  5. 【转】Eclipse里项目名有红叉,但是展开后里面又没有红叉叉
  6. 【转】AngularJS 取消对 HTML 片段的转义
  7. 简单的鼠标可拖动div 兼容IE/FF
  8. Spring 中的 Bean 配置
  9. 1.6Linux设备驱动
  10. C# 代理HTTP请求
  11. android alipay(移动支付,异步通知发起失败,但是支付成功)
  12. 【BZOJ3691】游行(网络流)
  13. WC、KOI2017小随想..
  14. 配置多个版本的jdk
  15. MQ的demo
  16. DAU预测
  17. 常见pip方法
  18. root登录不进去 dropbear ssh
  19. windowsxp下的mysql集群技术
  20. 题解 p2420 让我们异或吧

热门文章

  1. vue仿阿里云后台管理(附加阿里巴巴图标使用)
  2. Java内存管理和回收
  3. 如何实现Django settings配置功能
  4. 几个 BeanUtils 中的坑,千万别踩!
  5. 一致性Hash算法(转)
  6. python中,a=10.0 b=10.0 a is b 为什么输出是false
  7. 解密Qt安装目录的结构
  8. Zabbix--01 介绍及安装
  9. 生成对抗网络 Generative Adversarial Networks
  10. 1134. Vertex Cover (25)