본문 바로가기

JSP

JSTL

*JSTL

-JSP Standard Tag Library

-태그를 사용하면 깔끔하고 가독성이 높아짐

-추가적인 라이브러리가 jar 파일 형태로 제공 (jstl.jar, standard.jar)

 http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/

-WEB-INF/lib 폴더에 복사하여 사용

-라이브러리를 사용하려면 taglib 지시자 추가 (따옴표 주의)

<%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix="c" %>

 

 

*JSTL core 태그

 

1. <c:set>

- setAttribute() 메서드와 같은 역할, 속성을 생성하고 속성 값을 지정하는 데 사용 

- scope 영역은 page(디폴트), request, session, application 중 선택 가능함

 

변수에 값을 저장할 때

<c:set var="변수이름" value="저장할 값" [scope="영역"]>

 

자바 빈 객체 생성할 때

<c:set var="변수이름" value="자바 빈 클래스 경로(패키지포함)">

 

자바 빈 필드 값을 저장할 때

<c:set target="${자바 빈즈 객체}" property="프로퍼티이름" value="저장할 값">

 

 

 

 

2. <c:remove>

- 해당 scope에 있는 변수를 제거하는 역할

- removeAttribute()와 동일

<c:remove var="삭제할 변수이름" [scope="영역"]>

 

 

3. <c:if>

<c:if test="조건식"> 조건이 참일 경우 실행할 문장 </c:if>

 

 

 

4. <c:choose>

- <c:if> 태그는 else, else if를 사용할 수 없는 한계가 있음

- 따라서, 다양한 조건을 제시할 때 사용하기 좋은 태그 + <c:when> <c:otherwise>

<c:choose>

    <c:when test="조건1"> ..... </c:when>

    <c:when test="조건2"> ..... </c:when>

    <c:otherwise> ..... </c:otherwise> // 조건이 만족하지 않으면~, 생략가능

</c:choose>

 

 

 

5. <c:forEach>

- 배열, 컬렉션, 맵과 같은 집합체에 저장되어 있는 값들을 순차적으로 처리할 때 사용

<c:forEach var="원소 한 개를 저장할 변수" items="${배열, 컬렉션, 맵 이름}" />

 

 

예시) 관심분야 다중 선택하기

 

 

 

6. <c:import>

- 다른 페이지의 내용을 포함시키기 위한 태그

- 다른 페이지의 내용을 변수에 저장 가능

- <jsp:include> 액션 태그와 동일한 기능 - 단순히 페이지를 포함 시키는 역할

<c:import url="URL" var="변수명" [scope="영역"]> --> URL 서버에 접속해서 데이터를 읽어와 어떠한 변수명으로 저장해라

 

 

7. <c:url>

- 이후에 여러 번 반복되어 사용할 주소가 있다면 변수에 저장하기 위해서 사용

- 책 373 페이지 참고

 

 

8. <c:redirect>

- response.sendRedirect() 메서드와 동일한 기능

- 지정한 페이지로 이동하는 기능

<c:redirect url="URL">

 

 

9. <c:out> <c:catch>

- 각각 문자열 혹은 변수의 내용을 출력할 때 사용 / 예외 처리를 위해 사용

 

 

'JSP' 카테고리의 다른 글

[JSP] JDBC - SELECT / Connection / Statement / ResultSet  (0) 2020.09.08
POST 방식 한글 데이터 처리 방법  (0) 2020.09.07
EL (표현언어)  (0) 2020.09.01
자바 빈  (0) 2020.08.22
쿠키와 세션  (0) 2020.08.21