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>Padam History</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
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 파일:
<%@
페이지 언어
=
"자바"
콘텐츠 유형
=
"text/html; 문자셋=UTF-8"
페이지인코딩
=
"UTF-8"
%>
<%@
taglib 접두사
=
"기음"
우리
=
"http://java.sun.com/jsp/jstl/core"
%>
<%@
taglib 접두사
=
"엑스"
우리
=
"http://java.sun.com/jsp/jstl/xml"
%>
<html>
<머리>
<제목>
JSTL x:parse 태그
</title>
</head>
<본문>
<h3>
도서 정보:
</h3>
<c:가져오기
var
=
"책정보"
URL
=
"http://localhost:8080/books.xml"
/>
<x:파싱
xml
=
"${bookInfo}"
var
=
"산출"
/>
<비>
첫 번째 책의 제목은
</b>
:
<x:아웃
선택하다
=
"$output/books/book[1]/이름"
/>
<br>
<비>
두 번째 책의 가격
</b>
:
<x:아웃
선택하다
=
"$output/books/book[2]/가격"
/>
</body>
</html>
http://localhost:8080/main.jsp를 방문하면 결과는 다음과 같습니다.
BOOKS INFO:첫 번째 책의 제목은 다음과 같습니다.빠담 역사 두 번째 책의 가격: 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>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 표준 태그 라이브러리를 참조하세요.