- jstl.java.net에서 JSTL API와 Implementation 구현체 다운로드 필요

- 선언
<%@ taglib uri="라이브러리 URI" prefix="접두사" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

1. <c:out>
 - 출력문 만드는 태그
<c:out value="출력할 값" default="기본값" /> 또는
<c:out value="출력할 값">기본값"</c:out>
- value가 null이면 기본값 출력, 기본값도 없다면 빈 문자열 출력

2. <c:set>
 - 변수를 생성하거나 기존 값을 덮어 씀
<c:set var="변수명" value="값" scope="page|request|session|application"/> 또는
<c:set var="변수명" scope="page|request|session|application">값</c:set>
- scope 생략시 page(JspContext)에 저장 됨
- 클래스에 정의된 셋터 메서드의 리턴타입이 void 여야 함

3. <c:if>
<c:if test="조건" var="변수명" scope="스코프">
    컨텐츠
</c:if>

4. <c:choose>
<c:choose>
    <c:when test="조건(참 거짓 값)"></c:when>
    <c:when test="조건(참 거짓 값)"></c:when>

    ...
    <c:otherwise></c:otherwise>
</c:choose>

5. <c:forEach>
1) 리스트 반복
<c:forEach var="변수명" items="목록데이터" begin="시작인덱스" end="종료인덱스">
    ${변수명}
</c:forEach>

2) 특정 횟수 반복
<c:forEach var="변수명" begin="숫자" end="숫자">
    ${변수명}
</c:forEach>

6. <c:forTokens>
- 특정 구분자(delimiter)로 분리 및 반복
- & 구분자 로 파라미터 분리 등에 활용
<c:forTokens var="변수명" items="문자열" delims="구분자">
    ${변수명}
</c:forTokens>

7. <c:url>
<c:url var="변수명" value="주소">
    <c:param name="파라미터명" value="값">
    <c:param name="파라미터명" value="값">
    ...
</c:url>

8. <c:import>
1) 출력
<c:import url="주소"/>
2) 저장
<c:import var="변수명" url="주소"/>

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

10. <fmt:parseDate>
- 문자열을 패턴으로 분석하여 java.util.Date 객체를 생성
<fmt:parseDate var="변수명" value="2014-05-05" pattern="yyyy-MM-dd"/>

11. <fmt:formatDate>
<fmt:formatDate var="${가져올변수명}" pattern="yy/MM/dd" />


http://hangaebal.blogspot.kr/2014/06/jstl-jsp-standard-tag-library.html

${} - 즉시 적용 (immediate evalution)
- 객체의 프로퍼티 값을 꺼내거나 메서드를 호출

#{} - 지연 적용{deferred evaluation)
- 사용자가 입력한 값을 객체의 프로퍼티에 담는 용도로 주로 사용
- JSF(javaServer Faces)에서 UI를 만들때 사용

- 사용 예 :
${ 스코프.객체명.프로퍼티 }
${ 객체명.프로퍼티 }

- 스코프가 없을 때 보관소 찾는 순서
1) pageScope   => JspContext
2) requestScope  => ServletRequest
3) sessionScope  => HttpSession
4) applicationScope => ServletContext
5) 모두 없다면 null 리턴

- 기본 객체
${pageScope.객체명}
${requestScope.객체명}
${sessionScope.객체명}
${applicationScope.객체명}

${param.매개변수명} - 값 조회
${paramValues.매개변수명} - 값 배열 조회
${header.헤더명} - HTTP 헤더 값 조회
${headerValues.헤더명} - HTTP 헤더 값 배열 조회
${cookie.쿠키명}
${initParam.매개변수명}

${pageContext} - 내장 객체 중 유일하게 map이 아님
${pageContext.servletContext.객체명}
${pageContext.session.객체명}
${pageContext.request.객체명}




http://hangaebal.blogspot.kr/2014/06/el-expression-language.html

<jsp:useBean>
- 자바 인스턴스를 준비함
- 보관소에서 인스턴스를 꺼내거나, 없으면 새로 만들어 저장
- 사용 예 : <jsp:useBean id="test" scope="session" class="package.test"/>

<jsp:setProperty> / <jsp:getProperty>
- setter / getter 메서드 호출

<jsp:include> / <jsp:forward>
- 사용 예 : <jsp:include page="/header.jsp"/>

<jsp:param>
- <jsp:include>, <jsp:forward>, <jsp:params> 의 자식 태그로 사용
- ServletRequest 객체에 매개변수를 추가하는 코드를 생성



http://hangaebal.blogspot.kr/2014/06/jsp.html

+ Recent posts