HTTP 経由で XML データを送信する場合、JSP を使用して、RSS ドキュメントなどの受信および送信 XML ドキュメントを処理する必要があります。 XML ドキュメントは単なるテキストの集まりです。JSP を使用して XML ドキュメントを作成することは、HTML ドキュメントを作成することと同じくらい難しくありません。
JSP を使用した XML コンテンツの送信は、HTML コンテンツの送信と同じです。唯一の違いは、ページのコンテキスト属性を text/xml に設定する必要があることです。コンテキスト属性を設定するには、次のように <%@page %> コマンドを使用します。
<%@ ページ contentType="text/xml" %>
次の例では、XML コンテンツをブラウザに送信します。
<%@ page contentType="text/xml" %><books> <book> <name>パダムの歴史</name> <author>ZARA</author> <price>100</price> </book></本>
別のブラウザを使用してこの例にアクセスし、例がレンダリングするドキュメント ツリーを確認します。
JSP を使用して XML を処理する前に、XML と XPath に関連する 2 つのライブラリ ファイルを <Tomcat インストール ディレクトリ>lib ディレクトリに配置する必要があります。
XercesImpl.jar: ここからダウンロード http://www.apache.org/dist/xerces/j/
xalan.jar: ここからダウンロード http://xml.apache.org/xalan-j/index.html
Books.xml ファイル:
<books><book> <name>パダムの歴史</name> <author>ZARA</author> <price>100</price></book><book> <name>Great Mistry</name> <author> NUHA</author> <price>2000</price></book></books>
main.jsp ファイル:
<%@
ページ言語
=
「ジャワ」
コンテンツタイプ
=
「テキスト/html; 文字セット=UTF-8」
ページエンコーディング
=
「UTF-8」
%>
<%@
タグライブラリ接頭辞
=
「c」
ウリ
=
「http://java.sun.com/jsp/jstl/core」
%>
<%@
タグライブラリ接頭辞
=
「×」
ウリ
=
「http://java.sun.com/jsp/jstl/xml」
%>
<html>
<頭>
<タイトル>
JSTL x:parse タグ
</タイトル>
</head>
<本文>
<h3>
書籍情報:
</h3>
<c:インポート
変数
=
「本の情報」
URL
=
「http://localhost:8080/books.xml」
/>
<x:解析
XML
=
「${書籍情報}」
変数
=
"出力"
/>
<b>
最初の本のタイトルは、
</b>
:
<x:アウト
選択する
=
"$output/書籍/書籍[1]/名前"
/>
<br>
<b>
2冊目の本の値段
</b>
:
<x:アウト
選択する
=
"$output/本/本[2]/価格"
/>
</body>
</html>
http://localhost:8080/main.jsp にアクセスすると、結果は次のようになります。
書籍情報:最初の本のタイトル:Padam History 2 番目の本の価格: 2000
これは 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> <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 タグ</title></head><body><h3>書籍情報:</h3><c:set var="xmltext"> <books> <book> <name>パダムの歴史</name> <author>ZARA</author> <price>100</price> </book> <book> <name>グレート・ミストリー< /name> <著者>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 標準タグ ライブラリを参照してください。