Xml Tags
XML 태그를 사용하기 위해서는 별도의 라이브러리 2개를 설치해야 함
다음에 해당하는 두 개의 라이브러리를 다운 받아 /WEB-INF/lib/에 추가하기
xalan.jar & Xerceslmpl.jar 설치
http://apache.mirror.cdnetworks.com/xalan/xalan-j/binaries/
xml tag 선언
<%@ taglib prefix = "x" uri = "http://java.sun.com/jsp/jstl/xml" %>
설치하지 않으면 java.lang.NoClassDefFoundError가 발생하기 때문에 반드시 설치해야 함
xalan.jar 라이브러리 등록
xalan-j_2_7_2-bin.zip 파일을 다운 받은 후, 압축을 해제하여 내장된 .jar 파일들을 라이브러리에 등록
<x:out> 태그
JSP <%= ... >태그와 유사하나, XPath 표현식을 사용
select 속성에 사용하는 xml 객체를 명시
예시>
<c:set var = "xmlbook">
<book>
<name>Great Mistry</name>
<author>NUHA</author>
<price>2000</price>
</book>
</c:set>
<x:parse xml = "${xmltext}" var = "output"/>
<b>책 정보 출력</b>:
<x:out select = "$output/book/name" />
<br>
<x:parse> 태그
객체로 사용할 xml 파일을 Xpath로 접근이 가능하도록 파싱처리함
var로 선언한 변수 명을 <x:out> 으로 접근 시 EL 형식인 ${ 변수 명 }이아닌 $변수명/속성명 의 Xpath 형식으로 접근
예시>
<c:import var=“bookInfo" url=“/book.xml" /> <!-- 이전에 선언한 xml 을 별도 문서로 만들어 import -->
<x:parse xml = "${bookInfo}" var = "output"/> <!-- 추가한 변수는 xml 속성에, Xpath로 접근할 변수명은 var에 선언 -->
<b>책 정보 출력</b>:
<x:out select = "$output/book/name" />,
<x:out select = "$output/book/author" />,
<x:out select = "$output/book/price" />
<br>
<x:set> 태그
xml로부터 데이터를 받아와 변수에 저장하는 태그
값을 담은 변수는 <x:out> 태그로 접근이 가능
예시>
<c:import var=“bookInfo" url=“/book.xml" />
<x:parse xml="${bookInfo}" var="output"/>
<x:set var="price" select="$output//price"/> <!-- $output//price 로 경로를 지정하면 해당 이름을 가진 태그로 직접 찾아감 -->
<b>책 가격 출력</b>:
<x:out select="$price" /><br>
<x:if> 태그
<c:if> 태그와 유사하나, test 속성 대신 select 속성으로 조건을 지정
예시>
<c:import var=“bookInfo" url=“/book.xml" />
<x:parse xml = "${bookInfo}" var = "output"/>
<x:if select = "$output//book">
book 객체가 최소 한 개 이상입니다.
</x:if>
<br />
<x:if select = "$output/book/price > 20000">
책 가격이 높은 편입니다.
</x:if>
<x:choose> 태그
<c:choose> 태그와 유사하나, test 속성 대신 select 속성을 사용
예시>
<c:import var=“bookInfo" url=“/book.xml" />
<x:parse xml="${bookInfo}" var="output"/>
<x:choose>
<x:when select = "$output/book/author = ‘권정열'">
저자는 권정열입니다.
</x:when>
<x:otherwise>
저자는 권정열이 아닙니다.
</x:otherwise>
</x:choose>
<x:forEach> 태그
<c:forEach> 태그와 유사하나, items 속성 대신 select 속성으로 조건을 지정하며, 다른 속성은 <c:forEach>와 동일함
예시>
<c:import var=“bookInfo" url=“/book.xml" />
<x:parse xml="${bookInfo}" var="output"/>
<ul>
<x:forEach select="$output/book" var=“value”>
<li>책 이름 : <x:out select=“value”/></li>
</x:forEach>
</ul>
'프로그래밍 > JSP' 카테고리의 다른 글
[JSP] JSP에서 세션 값 가져오기 (0) | 2022.08.12 |
---|---|
기본 문법 (0) | 2021.07.15 |
09.10(JSTL Function) (0) | 2020.09.10 |
09.09(JSTL Formatting Tags) (0) | 2020.09.09 |
09.08(JSTL Core Tags3 - <c:choose>, <c:forEach>, <c:forTokens>, <c:url>) (0) | 2020.09.08 |