Beim Senden von XML-Daten über HTTP ist die Verwendung von JSP zur Verarbeitung eingehender und ausgehender XML-Dokumente, z. B. RSS-Dokumente, erforderlich. Da es sich um ein XML-Dokument handelt, handelt es sich lediglich um eine Menge Text. Das Erstellen eines XML-Dokuments mit JSP ist nicht schwieriger als das Erstellen eines HTML-Dokuments.
Das Senden von XML-Inhalten mit JSP ist dasselbe wie das Senden von HTML-Inhalten. Der einzige Unterschied besteht darin, dass Sie das Kontextattribut der Seite auf text/xml setzen müssen. Um das Kontextattribut festzulegen, verwenden Sie den Befehl <%@page %> wie folgt:
<%@ page contentType="text/xml" %>
Das nächste Beispiel sendet XML-Inhalte an den Browser:
<%@ page contentType="text/xml" %><books> <book> <name>Padam History</name> <author>ZARA</author> <price>100</price> </book></ Bücher>
Verwenden Sie einen anderen Browser, um auf dieses Beispiel zuzugreifen und den Dokumentbaum anzuzeigen, der im Beispiel gerendert wird.
Bevor Sie JSP zum Verarbeiten von XML verwenden, müssen Sie die beiden Bibliotheksdateien für XML und XPath im Verzeichnis <Tomcat-Installationsverzeichnis>lib ablegen:
XercesImpl.jar: Hier herunterladen http://www.apache.org/dist/xerces/j/
xalan.jar: Hier herunterladen http://xml.apache.org/xalan-j/index.html
Datei „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-Datei:
<%@
Seitensprache
=
"Java"
Inhaltstyp
=
„text/html; charset=UTF-8“
Seitenkodierung
=
„UTF-8“
%>
<%@
Taglib-Präfix
=
"C"
uri
=
„http://java.sun.com/jsp/jstl/core“
%>
<%@
Taglib-Präfix
=
"X"
uri
=
„http://java.sun.com/jsp/jstl/xml“
%>
<html>
<Kopf>
<Titel>
JSTL x:parse-Tags
</title>
</head>
<Körper>
<h3>
Bücherinfo:
</h3>
<c:import
var
=
„bookInfo“
URL
=
„http://localhost:8080/books.xml“
/>
<x:parse
xml
=
„${bookInfo}“
var
=
"Ausgabe"
/>
<b>
Der Titel des ersten Buches lautet
</b>
:
<x:out
wählen
=
„$output/books/book[1]/name“
/>
<br>
<b>
Der Preis des zweiten Buches
</b>
:
<x:out
wählen
=
„$output/books/book[2]/price“
/>
</body>
</html>
Besuchen Sie http://localhost:8080/main.jsp und die Ergebnisse sind wie folgt:
BUCHINFO: Der Titel des ersten Buches lautet: Padam History. Der Preis des zweiten Buchs: 2000
Dies ist die XSLT-Stylesheet-Datei 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> <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>
Dies ist die main.jsp-Datei:
<%@ 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>Bücherinfo:</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>
Die Laufergebnisse sind wie folgt:
Weitere Informationen zur Verwendung von JSTL zur Verarbeitung von XML finden Sie in der JSP Standard Tag Library.