При отправке данных XML через HTTP необходимо использовать JSP для обработки входящих и исходящих документов XML, таких как документы RSS. XML-документ представляет собой просто набор текста. Создание XML-документа с помощью JSP не сложнее, чем создание HTML-документа.
Отправка содержимого XML с помощью JSP аналогична отправке содержимого HTML. Единственное отличие состоит в том, что вам необходимо установить атрибут контекста страницы в text/xml. Чтобы установить атрибут контекста, используйте команду <%@page %>, например:
<%@ page contentType="text/xml" %>
Следующий пример отправляет содержимое XML в браузер:
<%@ page contentType="text/xml" %><books> <book> <name>История Падама</name> <author>ZARA</author> <price>100</price> </book></ книги>
Используйте другой браузер, чтобы получить доступ к этому примеру и просмотреть дерево документов, отображаемое в этом примере.
Прежде чем использовать JSP для обработки XML, вам необходимо поместить два файла библиотеки, относящиеся к XML и XPath, в каталог <Каталог установки Tomcat>lib:
XercesImpl.jar: Загрузите здесь http://www.apache.org/dist/xerces/j/.
xalan.jar: Загрузите здесь http://xml.apache.org/xalan-j/index.html.
файл book.xml:
<books><book> <name>История Падама</name> <author>ZARA</author> <price>100</price></book><book> <name>Великая тайна</name> <author> НУХА</author> <price>2000</price></book></books>
файл main.jsp:
<%@
язык страницы
=
"Ява"
тип контента
=
"текст/html; кодировка = UTF-8"
кодировка страницы
=
«УТФ-8»
%>
<%@
префикс библиотеки тегов
=
"с"
ури
=
"http://java.sun.com/jsp/jstl/core"
%>
<%@
префикс библиотеки тегов
=
"х"
ури
=
"http://java.sun.com/jsp/jstl/xml"
%>
<html>
<голова>
<название>
JSTL x:parse Теги
</title>
</голова>
<тело>
<h3>
Информация о книгах:
</h3>
<с:импорт
вар
=
"книгаИнформация"
URL
=
"http://localhost:8080/books.xml"
/>
<x:анализ
xml
=
"${bookInfo}"
вар
=
"выход"
/>
<б>
Название первой книги такое
</б>
:
<x:выход
выбирать
=
"$output/books/book[1]/имя"
/>
<br>
<б>
Цена второй книги
</б>
:
<x:выход
выбирать
=
"$output/books/book[2]/price"
/>
</тело>
</html>
Посетите http://localhost:8080/main.jsp, и результаты будут следующими:
ИНФОРМАЦИЯ О КНИГАХ: Название первой книги: История Падама Цена второй книги: 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"/ > </тд> </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> <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>
Результаты бега следующие:
Для получения дополнительной информации об использовании JSTL для обработки XML обратитесь к стандартной библиотеке тегов JSP.