English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

JSP XML 데이터 처리

HTTP를 통해 XML 데이터를 전송할 때, JSP를 사용하여 입력 및 출력 XML 문서를 처리하는 것이 필요합니다. 예를 들어, RSS 문서와 같습니다. XML 문서로서 그것은 단순한 텍스트일 뿐, JSP를 사용하여 XML 문서를 생성하는 것은 HTML 문서를 생성하는 것보다 어렵지 않습니다.

JSP를 사용하여 XML 전송

JSP를 사용하여 XML 내용을 전송하는 것은 HTML 내용을 전송하는 것과 같습니다. 유일한 차이점은 페이지의 context 속성을 text로 설정해야 한다는 것입니다./xml。context 속성을 설정하려면 <%@page % > 명령을 사용하여 이렇게 합니다:

<%@ page contentType="text/xml" %>

다음 예제는 브라우저에 XML 내용을 전송합니다:

<%@ page contentType="text/xml" %>
<books>
   <book>
      <name>Padam History</name>
      <author>ZARA</author>
      <price>100</price>
   </book>
</books>

다른 브라우저를 사용하여 이 예제에 접근하여 이 예제가 표시하는 문서 트리를 확인해 보세요。

JSP에서 XML을 처리하다

JSP를 사용하여 XML을 처리하기 전에, XML과 XPath와 관련된 두 개의 라이브러리 파일을 <Tomcat Installation Directory>\lib 디렉토리에 두어야 합니다:

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 파일입니다:

<%@ page language="java" 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" %>
 
<html>
<head>
  <title>JSTL x:parse Tags</title>
</head>
<body>
<h2>Books Info:</h2>
<c:import var="bookInfo" url="http://localhost:8080/books.xml"/>
 
<x:parse xml="${bookInfo}" var="output"/>
<b>The title of the first book is</b>: 
<x:out select="$output/books/book[1]/name" />
<br>
<b>The price of the second book</b>: 
<x:out select="$output/books/book[2]/price" />
 
</body>
</html>

http: 접근//localhost:8080/main.jsp, 실행 결과는 다음과 같습니다:

BOOKS INFO:
The title of the first book is:Padam History 
The price of the second book: 2000

JSP를 사용하여 XML을 포맷화합니다

이것은 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 border="1" width="100%">
    <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 Tags</title>
</head>
<body>
<h2>Books Info:</h2>
<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>

실행 결과는 다음과 같습니다:

JSTL을 사용하여 XML을 처리하는 방법에 대한 더 많은 내용은 참조하십시오JSP 표준 태그 라이브러리