Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

JSP에서 XPath 표현식 결과를 출력하는 방법 – x:out 태그 완벽 가이드


<x:out> 태그는 XPath 표현식의 평가 결과를 화면에 출력하는 JSTL XML 태그입니다. JSP 스크립틀릿 문법인 <%= %>와 동일한 역할을 수행한다고 생각하면 이해하기 쉽습니다.

x:out 태그의 주요 속성

<x:out> 태그는 다음과 같은 속성을 제공합니다.

속성설명필수 여부기본값
select문자열로 평가할 XPath 표현식이며, 주로 XPath 변수를 함께 사용합니다.없음
escapeXmltrue로 설정하면 특수 XML 문자(<, >, & 등)를 이스케이프 처리합니다.아니요true

예제

이번에는 <x:parse> 태그로 XML 문서를 파싱한 뒤, <x:out> 태그로 원하는 노드의 값을 추출하여 출력하는 예제를 살펴보겠습니다.

<c:set> 태그로 XML 문자열을 변수에 담고, <x:parse> 태그가 이를 파싱하여 output 변수에 저장합니다. 이후 XPath 표현식에서 해당 변수를 참조해 도서 정보를 조회합니다. 참고로 XPath에서 노드 인덱스는 0이 아닌 1부터 시작한다는 점에 유의하세요.

<%@ taglib prefix = "c" uri = "https://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix = "x" uri = "https://java.sun.com/jsp/jstl/xml" %>
<html>
   <head>
      <title>JSTL x:out Tags</title>
   </head>
   <body>
      <h3>Books Info:</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>
      <x:parse xml = "${xmltext}" 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>

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Books Info:
The title of the first book is: Padam History
The price of the second book: 2000

이처럼 <x:parse><x:out> 태그를 조합하면 JSP 페이지에서 별도의 자바 코드 없이 XML 데이터를 간편하게 파싱하고 원하는 값을 손쉽게 추출하여 출력할 수 있습니다.