이야기앱 세상
JSTL core 라이브러리 정리 본문
- JSTL core 라이브러리
jsp 페이지에 core 라이브러리를 사용할 수 있도록 taglib 디렉티브 명시
<%@ taglib prefix="c" uri=http://java.sun.com/jsp/jstl/core %>
prefix : 접두사
uri : core 라이브러리가 존재하는 위치
1) <c:set var="변수명" value="설정값" target="객체" property="값" scope="범위" />
- 지정된 변수에 값을 할당하는 태그
target은 값을 설정하고자 하는 객체를 명시한다. target에 객체를 명시하면 명시된 객체에 값을 셋팅할 수 있다.
property는 taregt에 명시된 객체의 프로퍼티를 의미하며 명시된 프로퍼티에 value에 명시한 설정값을 셋팅합니다.
scope은 값을 셋팅한 범위를 의미(page,request,session,application), 생략하면 scope="page"
2) <c:remove var="변수명" scope="범위" />
- 설정된 속성을 제거하는 태그
scope은 값이 셋팅된 범위를 의미(page,request,session,application), 생략하면 scope="page"
3) <c:out value="출력값" default="기본값" escapeXml="true/false" />
- 지정된 값을 출력하는 태그
value 에 명시한 값을 출력하며 value 가 null 일경우 default에 기술한 값을 출력
escapeXml는 기본값이 false이면 true라고 지정하면 <과 같은 특수문자를 < 엔티티 레퍼런스 형태로 변환한다.
즉, escapeXml를 true라고 하면 HTML 태그를 인정하지 않는다는 의미
4) <c:if test="조건" var="변수명" scope="범위" />
- 조건이 true이면 수행문을 수행하는 태그
test에서 조건을 체크해서 true 또는 false가 되면 var에 지정된 변수의 그 값이 담김
scope은 var에 지정한 변수가 셋팅되는 범위를 의미(page,request,session,application), 생략하면 scope="page"
5) <c:choose>
<c:when test="조건"></c:when>
<c:when test="조건"></c:when>
<c:otherwise></c:otherwise>
</c:choose>
- 여러개의 when 태그에 명시한 조건을 체크하고 조건에 만족하는 수행문을 수행, 만족하는 조건이 없으면 otherwise에 명시한 수행문을 수행
6) <c:forEach items="객체명" begin="시작 인덱스" end="끝 인덱스" step="증감식" var="변수명" varStatus="상태변수" />
- 수행문을 반복해서 수행
items : 속성에 인덱스가 존재하는 객체를 지정하여 반복수행할 때 사용
begin : 수행문을 반복시킬 시작 인덱스 지정
end : 수행문의 반복이 끝날 인덱스 지정
step : 증감식 지정
var : 현재 반복하고 있는 값이 저장되는 변수지정
varStatus : 반복 상태를 지정하는 변수 지정
예) varStatus 의 사용예
<c:forEach var="list" items="itemList" varStatus="status">
${status.index} <- 0부터 시작하는 인덱스 표시
${status.count} <- 1부터 시작하여 1씩 증가
${status.first} <- forEach 반복의 처음 일 경우 true
${status.last} <- forEach 반복의 마지막 일 경우 true
</c:forEach>
예) forEach를 사용할 때 List의 크기 구하기
<%@ taglib prefix="fn" uri=http://java.sun.com/jsp/jstl/functions %> <- 페이지 상단에 명시
${fn:length(itemList)}
7) <c:forTokens items="객체명" delims="구분자" begin="시작 인덱스" end="끝 인덱스" step="증감식" var="변수명" varStatus="상태변수" />
- 문자열을 구분자로 잘라내어 출력
items : 잘라내고자 하는 문자열이 담겨있는 객체
delims : 구분자 지정
begin : 시작 인덱스
end : 끝 인덱스
step : 증감식
var : 잘라진 문자열이 담기는 변수
varStatus : 반복 상태지정 변수
8) <c:catch var="변수명" />
- 예외 발생시 예외 처리 태그
예외가 발생할 수 있는 수행문 앞 뒤에 catch 태그를 배치하고 예외가 발생하면
var에 지정한 변수명에 예외 문구를 저장한다. out 태그 또는 el 를 통해 예외 문구를 호출해 출력할 수 있다.
9) <c:import url="URL" var="변수명" scope="범위" varReader="변수명" context="context" charEncoding="인코딩" />
- 지정한 url 페이지의 내용을 읽어와 출력
10) <c:redirect url="URL" context="context" />
- 지정한 url로 redirect
11) <c:url var="변수명" scope="범위" value="값" context="context" />
- url 생성
12) <c:param name="파라미터명" value="값" />
- 파라미터로 전달하고 싶은 값을 name에 기술된 파라미터명과 value에 명시한 값의 쌍으로 전송
'IT > JSP' 카테고리의 다른 글
JSTL i18n capable formatting 라이브러리2 (0) | 2016.03.22 |
---|---|
JSTL i18n capable formatting 라이브러리 1 (국제화) (0) | 2016.03.22 |
post 방식으로 데이터 전송시 한글 깨짐 해결 (0) | 2016.03.22 |
tomcat 6.0 에서 get 방식으로 한글 데이터 전송시 깨짐 현상 해결 (0) | 2016.03.22 |
Eclipse Dynamic Web Project 설정 방법 (0) | 2016.03.22 |