KyungHwan's etc.

JSTL XML Tag 본문

XML

JSTL XML Tag

KyungHwan_0 2018. 5. 31. 14:47

JSTL

JSP페이지 작성자가 가장 일반적으로 찾는 표쥰 기능을 제공하는 JSP태그 콜렉션 이다. JSTL은 조건,반복,로케일에 민감한 형식화 등을 지원한다. 또한 페이지 작성자가 데이터의 검색 및 표시 방식을 제어하게 하는 표현식 언어(EL)도 제공한다.

JSTL태그는 기능에 따라 JSP 페이지를 만들 때 사용할 수 있는 다음 JSTL 태그 라이브러르 그룹으로 분류 할 수 있다.

· Core Tags

· Formatting tags

· SQL tags

· XML tags

· JSTL Functions

Core tag

jsp에서 사용되는 반복,조건,데이터관리,데이터베이스액세스,시간,숫자,날짜,문자열,가공등을 사용할 수 있는 표준라이브러리 이다.

JSTL은 EL(Expression Language)를 사용하여 표현한다.

JSTL Core Tag의 종류

1.<c:set/> Tag

- JSP의 setAttribute()와 같은 역할

- <c:set var=”변수명”>

Value=”변수에 넣을 값”

Property=”자바빈 객체 or Map 객체 값을 설정할 프로퍼티 명”

Scope=”변수 공유 범위”/>

2. <c:remove /> Tag

- JSP의 removeAttribute()와 같은 역할

- <c:remove var=”변수명”

Scope=”변수 공유 범위”/>

3. <c:out /> Tag

- ‘<%=…>’ 와 같다. JSP의 표현식을 대체 한다.

- <c:out var=”변수명”

Default=”기본값”

EscapeXML=”true | false”/>

4. <c:catch /> Tag

- Body에서 실행되는 코드의 예외 처리

- <c:catch var=”에러메세지가 포함될 변수명” />

5. <c:if /> Tag

- 조건문

- <c:if test=”조건 판별식”

var=”변수명”

scope=”변수 공유 범위”/>

6. <c:choose />, <c:when />, <c:otherwise />

- Switch문과 동일, 여러개의 when 태그와 하나의 otherwise 태그를 가진다

- <c:if /> 태그에 else가 없으므로 대체식으로도 많이 사용

- c:choose

<c:when test="조건 판별식"> .... /c:when

<c:when test="조건 판별식"> .... /c:when

<c:when test="조건 판별식"> .... /c:when

/c:choose

7. <c:forEach /> Tag

- 객체 전체에 걸쳐 반복 실행에 사용

- <c:forEach var="현재 아이템의 변수명"

items="반복 데이터가 있는 아이템 Collection 명"

begin="시작 값, 기본값은 0"

end="종료 값"

step="증가 값"

varStatus="반복 상태 값을 지닌 변수" />

varStatus는 forEach의 상태를 알 수 있는 값이 들어 있다.

$(변수.current} : 현재의 인덱스

$(변수.index} : 0부터의 인덱스

$(변수.count} : 1부터의 인덱스

$(변수.first} : 현재 루프가 처음인지 확인

$(변수.last} : 현재 루프가 마지막인지 확인

$(변수.begin} : forEach문의 시작 값

$(변수.end} : forEach문의 끝 값

$(변수.step} : forEach문의 증가 값

8. <c:forTokens /> Tag

- 문자열을 구분자(delimiter)로 분할

- <c:forTokens var="현재 아이템의 변수 명"

items="반복 데이터가 있는 아이템 Collection 명"

delims="구분자, 여러개 지정 가능"

begin="시작 값, 기본 값은 0"

end="종료 값"

step="증가 값"

varStatus="반복 상태 값을 지닌 변수" />

9. <c:url /> Tag

- URL의 생성

- <c:url var="생성한 URL이 저장될 변수 명"

value="생성할 URL"

scope="변수 공유 범위" />

10. <c:param /> Tag

- 파라미터 추가

- <c:param name="파라미터 명" value="값" />

11. <c:import /> Tag

- 페이지를 첨부하는 태그

- import 태그 내에 param 태그도 사용 할 수 있다.

- <c:import url=”첨부할 url”/>

12. <c:redirect /> Tag

- sendRedirect()와 동일

- <c:redirect url=”이동할 URL” />

JSTL태그 설명 사이트

https://www.tutorialspoint.com/jsp/jsp_standard_tag_library.htm

http://www.w3big.com/jsp/jstl-xml-out-tag.html

XML tag

JST XML 태그는 JSP중심의 XML 문서 작성 및 조작 방법을 제공 한다. 다음은 JSP에 JSTL XML 라이브러리를 포함 하는 구문이다.

JSTL XML 태그 라이브러리에는 XML 데이터와 상호 작용하기위한 사용자 정으의 태그들이 있다. 여기에는 XML파싱 , XML데이터 변환 및 XPath 표현식을 기반으로 한 흐름제어가 포함된다.

1.<x: out> Tag

- XPath 표현식의 결과를 표시하고 <% = %> 유사한 기능을 표시합니다.

<x:out select="<string>" escapeXml="<true|false>"/>

Select -> 보통 XPath 변수를 사용하여 계산할 XPath식

EscapeXML -> XML 특수 문자를 무시할지 여부

실행결과

2.x:parse Tag

Attributes descriptiom If necessary Defaults
var 파싱 할 xml 데이터값이 들어있는 No No
xml 파싱하기 위한 다큐먼트콘텐츠 텍스트 문서 No body
systemId 파싱되고 있는 문서의 url를 나타냄 no No
filter 파싱하기 전에 필터의 내용을 걸러 낼 때 사용 No No
doc 직접 xml 문서의 위치를 지정 할 때 사용. no page

- Body 본문속성 or XML 데이터를 파싱 하는데 사용된다.

Book.xml를 가져와서 파싱하는 코트 예 이다.

3. x:set Tag

- 지정된 변수에 지저안 XPath 내에 XML 표현식의 값을 설정한다.

Attributes descriptiom If necessary Defaults
var 저장할 변수를 의미 yes Body
Select XPath 표현식을 입력 No No
scope 변수의 범위를 의미한다 no page

4.x:if Tag

- XPath 표현식의 값을 결정하는데 사용된다.(기존 IF문과 동일)

Attributes descriptiom If necessary Defaults
Select 지정된 XPath표현식으로 조건을 판별 yes Body
Var 변수에는 조건처리의 결과를 저장함 No No
scope 변수의 범위를 의미한다 no page

Book.xml 에서 book/price 의 값이 100 보다 크다면 “book prices are very high”를 출력하는 태그.

5. <x:forEach var>

- xml 문서를 파싱할 사용

Attributes descriptiom If necessary Defaults
Select 지정된 XPath표현식으로 조건을 판별 yes No
Var 변수에는 조건처리의 결과를 저장함 No No
Begin 시작인덱스 No No
End 끝인덱스 No No
step 증감식 No No
varStatus 반복자 대시 저장된 변수의 상태 No No

'XML' 카테고리의 다른 글

DTD(Document Type Definition)  (0) 2018.05.31
XML DOM  (0) 2018.05.31
XML( EXtensible Markup Language) Reference Document  (0) 2018.05.31
Comments