1. JSTL core 선언법
JSP 상단에
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
2. value 가져오는 법
controller 단에서 request.setAttribute("aaa",aaa);
같은 식으로 넣어 줬다면
JSP 단에서 ${aaa) 라고 호출해 주면 된다.
DTO (set,get 메소드방식) 으로 되어 있는 객체의 값을 불러오기 위해선
${aaa.bbb) 이런식으로 참조 방식으로 가져오면 된다.
3. if 문
<c:if test="${TagDTO.TAG_SELECTED!=null && TagDTO.TAG_SELECTED!=''}">
~~~~~
</c:if>
4. 조건문 (if~else 가 choose,otherwise 라는 방식의 태그로 표현된다)
<select name="TAG_NM2">
<c:forEach var="TagDTO" items="${SecondDefaultList}">
<c:choose>
<c:when test="${TagDTO.TAG_SELECTED!=null && TagDTO.TAG_SELECTED!=''}">
<option value="${TagDTO.TAG_NM}" selected>${TagDTO.TAG_NM}</option>
</c:when>
<c:otherwise>
<option value="${TagDTO.TAG_NM}">${TagDTO.TAG_NM}</option>
</c:otherwise>
</c:choose>
</c:forEach>
</select>
5. 반복문
위의 예제에서 보다 시피 c:forEach 태그로 사용한다.
forEach 태그에는 몇가지 attribute 가 있는데
5-1. var : 태그 안에서 변수로 사용될 이름 (list 안에 들어가 있을 변수를 표현할 이름임)
5-2. items : list 이름 (위의 예제에서 처럼 request 객체 안에서 list 형식의 변수를 가져오는게 일반적임)
지원되는 collection 클래스 - Collection, Map, Iterator, Enumeration, Array형식,
5-3. begin : 시작 번호 (list for문 돌릴 시작 index)
5-4. end : 마지막 번호 (list for문 돌릴 마지막 index)
5-5. step : 한번 loop 돌때 index 를 몇개 증가 시킬 것인가(표시 안해주면 1씩 증가됨)
5-6. varStatus : loop 상태를 알아보는 변수
<c:forEach items="${ProductDTO.tags}" varStatus="status" var="Tags">
이렇게 설정 하였을 경우 태그 안에서
${status.current} -> 현재 반복 라운드 아이템
${status.index} -> 현재 반복 라운드의 제로 기반(zero-based) 인덱스 (시작이 0부터라는 뜻)
${status.count} -> 현재 반복 라운드의 1 기반(one-based) 인덱스 (시작이 1부터라는 뜻)
${status.first} -> 현재 라운드가 반복을 통한 첫 번째 패스임을 나타내는 플래그(결과는 당연히 true, false 형태)
${status.last} -> 반복현재 라운드가 반복을 통한 마지막 패스임을 나타내는 플래그 (결과는 당연히 true, false 형태)
${status.begin} -> begin 애트리뷰트의 값
${status.end} -> end 애트리뷰트의 값
${status.step} -> step 애트리뷰트의 값
이런 방식으로 사용할 수 있다.
varStatus 는 c:forEach 태그 안의 Attribute에서도 쓸 수 있다.
예를들어 <c:forEach items="${ProductDTO.tags}" varStatus="status" var="Tags" begin="${status.begin}" end="${status.end}">
도 가능하다.
'JSP' 카테고리의 다른 글
[ JSP ] XSS Filter (2) | 2012.08.10 |
---|---|
[ JSP ] no-cache 사용법 (0) | 2012.04.24 |
[ JSP ] Tiles 2 사용하여 화면 Frame 분리하기 (0) | 2010.11.23 |
[ JSP ] JSP 엑셀 다운로드시 한글 깨질 때 (0) | 2009.10.26 |
[ JSP ] JSP 엑셀 다운 로드시 숫자형을 문자형으로 바꾸어서 출력 (1) | 2009.10.26 |
댓글