JSP XML

JSP 可以处理 HTTP 发送 XML 数据或 响应 XML 内容,比如 RSS 文档

JSP 发送 XML

JSP 发送 XML 内容就像 发送 HTML 内容一样简单,唯一不同的就是需要将页面的 ConTent-Type 设置为 text/xml;charset=utf-8

JSP 可以通过设置 <%@ page %> 来设置 Content-Type,就像下面这样

<%@ page contentType="text/xml;charset=utf-8" %>

下面的范例发送了一个简单的 XML 内容

webapp/xml_simple.jsp

<%@ page contentType="text/xml;charset=utf-8" %>
<xml>
<sites>
    <site>
      <name>简单教程</name>
      <url>https://www.twle.cn</url>
      <rank>100</rank>
    </site>
</sites>
<author>JSP 基础教程 | 简单教程(www.twle.cn)</author>
</xml>

在浏览器上输入 http://localhost:8080/jsp/xml_simple.jsp 显示结果如下

JSP 解析 XML

JSP 可以解析 XML 数据,但这之前需要先安装几个与 XML 和 XPath 相关的 jar 类库

我们将下面两个 jar 库放到 <Tomcat Installation Directory>\lib 目录

  1. XercesImpl.jar

  2. xalan.jar

配置好了之后,我们就可以使用 JSP 来解析我们上面生成的 XML 数据

http://localhost:8080/jsp/xml_simple.jsp

webapp/xml_parser.jsp

<%@ page 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" %>
<!DOCTYPE html>
<meta charset="utf-8">
<title>JSP 解析 XML - JSP 基础教程 | 简单教程(www.twle.cn)</title>
<p>站点信息:</p>

<c:import var="siteInfo" url="http://localhost:8080/jsp/xml_simple.jsp"/> 
<x:parse xml="${siteInfo}" var="output"/>
<b>网站名</b>: 
<x:out select="$output/xml/sites/site[1]/name" />
<br>
<b>网址</b>: 
<x:out select="$output/xml/sites/site[1]/url" />
<br/>
<p>JSP 解析 XML  - JSP 基础教程 | 简单教程(www.twle.cn)</p>

在浏览器上输入 http://localhost:8080/jsp/xml_parser.jsp 显示结果如下

JSP 格式化 XML

webapp/style.xsl.jsp

<?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="sites">
  <table border="1" width="100%">
    <xsl:for-each select="site">
      <tr>
        <td>
          <i><xsl:value-of select="name"/></i>
        </td>
        <td>
          <xsl:value-of select="url"/>
        </td>
        <td>
          <xsl:value-of select="rank"/>
        </td>
      </tr>
    </xsl:for-each>
  </table>
</xsl:template>
</xsl:stylesheet>

webapp/xml_format.jsp

<%@ page 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" %>
<!DOCTYPE html>
<meta charset="utf-8">
<title>JSP 格式化 XML - JSP 基础教程 | 简单教程(www.twle.cn)</title>
<p>站点信息:</p>
<c:set var="xmltext">
<xml>
<sites>
    <site>
      <name>简单教程</name>
      <url>https://www.twle.cn</url>
      <rank>100</rank>
    </site>
</sites>
<author>JSP 基础教程 | 简单教程(www.twle.cn)</author>
</xml>
</c:set>

<c:import url="http://localhost:8080/jsp/style.xsl.jsp" var="xslt"/>
<x:transform xml="${xmltext}" xslt="${xslt}"/>
<br/>
<p>JSP 格式化 XML - JSP 基础教程 | 简单教程(www.twle.cn)</p>

在浏览器上输入 http://localhost:8080/jsp/xml_format.jsp 显示结果如下

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

JSP 基础教程

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.