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
目录
配置好了之后,我们就可以使用 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