티스토리 뷰

 [jsp12강] JSTL XML 태그 사용법




이번글에서는  JSTL XML 태그 사용법에 대해서 알아보겠습니다.

XML 태그에 들어가기전 JSTL 에 대한 이전글들에 대해서 링크를 남겨 놓겠습니다.


 이전 글 링크 


우선 XML 태그에 들어가기전 XPath 라는 것을 알아야합니다.

XPath 는 쉽게 말해 xml 소스트리의 위치를 지정해주기 위한 경로지정 문법입니다.

자세한 글은 추후에 달아놓도록하고.. 경로지정 문법이라고 이해하고 넘어가시면 되겠습니다.

그럼이제 JSTL XML 태그에 대해서 하나씩 알아보겠습니다.


 out, parse, set (기본기능)


<x:out/> 태그는 XPath 에 지정한 패턴에 따라 xml 내용을 출력하는 태그이고..

<x:parse/> 태그는 xml 문서를 읽어서 파싱하는 태그입니다.

<x:set/> 태그는 XPath에 따라 선택된 내용을 변수에 저장하는 태그입니다.

즉 out, parse, set 태그들은 xml 파일을 연결하는 기능이라고 생각하시면 됩니다.

사용문법은 아래와 같습니다.


 사용문법 

1. <x:out/> 사용법


<x:out select="XPathExpression" [escapeXml="{true|false}"]/>  

 

2. <x:parse/> 사용법


<x:parse xml="XMLDocument" {var="var" [scope="scopeName"]|varDom="var" [scopeDom="scopeName"]}  [systemId="systemId"] [filter="filter"]/>  

또는

<x:parse {var="var" [scope="scopeName"]|varDom="var" [scopeDom="scopeName"]} [systemId="systemId"] [filter="filter"]>파싱할 XML 문서</x:parse>

3. <x:set/> 사용법

<x:set select="XPathExpression" var="varName" [scope="{page|request|session|application}"]/>



 choose (when, otherwise), forEach, if (흐름제어)


<x:if/>, <x:choose/>, <x:when/>, <x:otherwise/>, <x:forEach/> 태그들의 기능은 

CORE 태그들과 기능및 문법이 비슷합니다.

조건문태그들은 <x:if/><x:choose/>,  <x:when/>,  <x:otherwise/> 이고

대신 core 태그의 test 속성이 아닌 select 속성을 사용합니다.

반복문 태그는 <x:forEach/> 이고

대신 core 태그의 items 속성대신 select 속성을 사용합니다.


 사용문법 

1. <x:if/> 사용법


<x:if select="XPathExpression" var="varName" [scope="{page|request|session|application}"]/>


또는


<x:if select="XPathExpression" [var="varName"] [scope="{page|request|session|application}"]>

body content

</x:if> 


2.<x:choose/>,<x:when/>, <x:otherwise/> 사용법


<x:choose>

<x:when select="XPathExpression">body content </x:when>

<x:otherwise>conditional block</x:otherwise>

</x:choose>


3. <x:forEach/> 사용법


<x:forEach [var="varName"] select="XPathExpression">body content</x:forEach>



 transform (param) 변환



<x:transform/>, <x:param/> 태그는 xml과 xslt 파일을 결합하는거라고 생각하면 됩니다.



 사용문법 

1. <x:transform/>, <x:param/> 사용법



<x:transform xml="XMLDocument" xslt="XSLTStylesheet" [xmlSystemId="XMLSystemId"] [xsltSystemId="XSLTSystemId"] [{var="varName" [scope="scopeName"]|result="resultObject"}]>


또는


<x:transform xml="XMLDocument" xslt="XSLTStylesheet" [xmlSystemId="XMLSystemId"] [xsltSystemId="XSLTSystemId"] [{var="varName" [scope="scopeName"]|result="resultObject"}]> <x:param> 액션들 </x:transform>


또는


<x:transform xslt="XSLTStylesheet" xmlSystemId="XMLSystemId" xsltSystemId="XSLTSystemId" [{var="varName" [scope="scopeName"]|result="resultObject"}]> XML Document optional <x:param> 액션들 </x:parse> 




 글을 마치며..


JSTL 태그에서 XML 태그는 별로 사용해본적이 없습니다.

정말로 사용해야한다면 api 문서를 열고 사용하시길 추천합니다..

이상으로 JSTL XML 태그 사용법에 대해서 알아보았습니다.

수고하세요!



도움이 되셨다면 로그인 없이 가능한

아래 하트♥공감 버튼을 꾹 눌러주세요! 



댓글