Published 2020. 9. 11. 20:15
728x90
반응형

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
복사했습니다!