mj@home:~$

JSTL 필기

<c:out>

<c:out value="출력할 값" default="기본값"/>  
<c:out value="출력할 값">기본값</c:out>

출력할 값이 null일 경우 기본값을 출력한다.

<c:set>

<c:set var="변수명" value="값" scope="page|request|session|application"/>  
<c:set var="변수명" scope="page|request|session|application"></c:set>  

context 변수의 값을 변경한다. scope가 없을 경우 default는 page다.

<c:set target="객체명" property="프로퍼티명" value="값" />

객체의 프로퍼티의 값을 변경 할 수도 있다.

<c:remove>

<c:remove var="변수명" scope="page|request|session|application" />

context 변수를 삭제한다. scope의 기본값은 page이다.

<c:if>

<c:if test="조건" var="변수명" scope="page|request|session|application">  
    콘텐츠  
</c:if>

조건이 true일 경우 변수에 true값이 들어가고 콘텐츠가 화면에 출력된다.
반대로 false일 경우 변수에 false값이 들어가고 콘텐츠가 출력되지 않는다.

<c:choose>

<c:choose>  
    <c:when test="조건식1">콘텐츠1</c:when>  
    <c:when test="조건식2">콘텐츠2</c:when>  
    ...  
    <c:otherwise>콘텐츠n</c:otherwise>  
</c:choose>

조건식에 맞는 콘텐츠가 출력된다.
<c:when> 태그는 1개 이상 존재해야 한다. <c:otherwise> 태그는 1개 이하 존재해야 한다.

<c:forEach>

<c:forEach var="변수명" items="목록데이터" begin="시작인덱스" end="종료인덱스">  
    콘텐츠  
</c:forEach>

목록데이터의 내용을 하나씩 변수명에 저장하여 콘텐츠를 반복 실행한다.
목록데이터의 속성은 다음이 올 수 있다.

  • 배열
  • java.util.Collection 구현체(ArrayList, LinkedList, Vector, EnumSet 등)
  • java.util.Iterator 구현체
  • java.util.Enumeration 구현체
  • java.util.Map 구현체
  • 콤마(,) 구분자로 나열된 문자열

시작인덱스와 종료인덱스로 몇 번째 인덱스에서 시작하고 몇 번째 인덱스에서 종료할 것인지를 저장한다.
만약 10회 반복하고 싶다면 종료인덱스-시작인덱스+1 의 값이 10이 되게 설정하면된다.

<c:forTokens>

<c:forTokens var="변수명" items="문자열" delims="구분자">  
   콘텐츠  
</c:forTokens>

문자열을 특정 구분자로 분리하여 반복문을 돌릴 수 있다.
구분자로 구분된 문자열은 순서대로 변수에 저장된다.

<c:url>

<c:url var="변수명" value="주소">  
   <c:param name="이름1" value="값1" />  
   <c:param name="이름2" value="값2" />  
</c:url>  
<a href="${변수명}" />

매개변수를 포함한 URL을 손쉽게 만들 수 있다.

<a href=”주소?이름1=값1&이름2=값2”/>

<c:import>

<c:import url="주소"/>

주소에 있는 html을 가져와 출력한다.

<c:redirect>

<c:redirect url="주소"/>

HttpServletResponsesendRedirect()를 호출한다. 주소로 이동한다.

<fmt:parseDate>

<fmt:parseDate var="변수명" value="2016-01-10" pattern="yyyy-MM-dd" />

날짜 형식으로 된 문자열을 분석하여 java.util.Date 객체를 생성한다.
그리고 지정된 보관소(scope)에 저장한다. 기본 값은 page이다.

<fmt:formatDate>

<fmt:formatDate value="${변수명}" pattern="MM/dd/yy" />

value의 값을 pattern에 맞게 출력한다.

출처 : 열열강의 자바 웹 개발 워크북(프리렉 엄지영) 요약