본문 바로가기

자바 웹/jsp

JSP 표준 태그 라이브러리(JSTL)

728x90
라이브러리 세부 기능 접두어
코어 변수 지원, 흐름 제어, 반복문 처리, URL 처리 c
국제화 지역, 메시지 형식, 숫자 및 날짜 형식 fmt
XML XML 코어, 흐름제어, XML 변환 x
데이터베이스 SQL sql
함수 컬렉션 처리, 문자열 처리 fn

 

https://tomcat.apache.org/download-taglibs.cgi

 

Apache Tomcat® - Apache Taglibs Downloads

Welcome to the Apache Taglibs download page. This page provides download links for obtaining the latest version of the Apache Standard Taglib, as well as links to the archives of older releases. You must verify the integrity of the downloaded files. We pro

tomcat.apache.org

 

 

위에서 이 4개의 jar 파일 다운받고, 프로젝트의 lib 폴더에 넣음

 

core 태그 라이브러리


기능 태그 설명
변수 지원 <c:set> jsp 페이지에서 변수 지정
<c:remove> 지정된 변수를 제거
흐름 제어 <c:if> 조건문 사용
<c:choose> switch문 사용
<c:when>, <c:otherwise> 서브태그 소유
<c:foreach> 반복문 사용
<c:forTokens> 구분자로 분리된 각각의 토큰 처리할 때 사용
URL 처리 <c:import> URL을 이용해 다른 자원을 JSP 페이지에 추가
<c:redirect> response.sendRedirect()기능 수행
<c:url> 요청 매개변수로부터 URL 생성
기타 태그 <c:catch> 예외 처리에 사용
<c:out> JspWriter에 내용을 처리한 후 출력

 

<c:set>

 

 

이렇게 set으로 선언한 변수를 표현언어로 접근해서 출력할 수 있음

 

 

길어지는 설정의 경우에도 <c:set>을 통해서 짧은 이름으로 설정하고 사용할 수 있음

 

 

<c:if>

<c:if test="${조건식}" var="변수이름" [scope="scope 속성 중 하나"] />

 

위와 같은 형태로 사용되며, test는 표현 언어를 이용해 수행할 조건식 위치를, var은 조건식의 결과값을 저장한다.

 

<c:if test="${height>170}"/> 과 같이 사용하면 됨

 

<c:choose>

<c:choose>

  <c:when test="조건식1"> 본문 내용 </c:when>

  <c:when test="조건식2"> 본문 내용 </c:when>

....

  <c:otherwise> 본문 내용 </c:otherwise>

</c:choose>

 

위와 같은 형태로 사용한다.

 

switch문의 기능을 수행한다고 볼 수 있음

 

...

<c:when test="${empty name}">

...

</c:when>

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

 

이렇게 사용하면 name이 null이거나 빈공간 일 경우

 

<c:forEach>

<c:forEach var="변수명" items="반복할 객체명" begin="시작값" end="마지막 값" step="증가값"

                  varStatus="반복상태 변수명>

 

...

</c:forEach>

 

위와 같은 형태로 사용

 

<c:forEach var="member" items="${membersList}">

${member.id}

${member.pwd}

${member.name}

${member.email}

</c:forEach>

 

위와 같은 형태로 사용

 

varStatus 속성

  • index (int)
  • count : 몇 번째 반복인지 나타내며, 1부터 시작 (int)
  • first : 첫 번째 반복인지 나타냄 (boolean)
  • last : 마지막 반복인지 나타냄 (boolean)

위의 속성을 사용하는 방법은 태그에서 설정한 반복상태면수명.속성 같은 방식으로 사용하면 된다.

 

${loop.count} => 반복횟수 (변수명은 loop로 설정)

 

<c:url>

jsp 페이지에 URL 정보를 저장하는 역할

 

<c:url var="변수명" value="URL 경로" [scope="속성 중 1"]>

  [<c:param name="매개변수명" value="전달값"/>

</c:url>

 

var은 생성된 URL이 저장될 변수, value는 생성할 URL을 지정한다.

 

 

<c:redirect>

response.sendRedirect() 기능과 동일하며 <c:redirect> 태그로 리다이렉트 할 때 매개변수를 전달할 수 있음

 

<c:redirect url="redirect할 URL">

  <c:param name="매개변수명" value="전달값"/>

</c:redirct>

 

 

<c:out>

화면에 지정한 값을 출력해 주는 태그.

타임리프의 text와 비슷한 역할로 보면 될 것 같다.

 

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

 

받아온 값을 출력한다면 예를 들어  <td><c:out value="${param.id}"/></td>와 같이 사용할 수 있다.

 

 

그 외에도 <c:import> 태그는 <jsp:include>와 같은 기능을 수행한다.

 

국제화


분류 태그 설명
다국어 <fmt:setLocale> Locale(언어)을 지정
<fmt:message> 지정한 언어에 해당하는 언어를 표시
<fmt:setBundle> 사용할 번들을 지정
<fmt:setParam> 전달할 매개변수 지정
<fmt:requestEncoding> 요청 매개변수의 문자 인코딩 지정

 

한글을 아스키 코드로 변환

다국어 기능을 사용하려면 미리 한글을 아스키 코드로 변환한 형태로 저장하고 있다가, 요청 시 이 아스키 코드를 다시 한글로 변환해서 표시한다.

 

그래서 먼저 이클립스를 사용할 경우 Properties Editor 플러그인을 설치해야 한다.

 

 

Install New Software에서 위와 같이 입력하고 Add

 

안되서 다음에 다시 해봄

 

포매팅 태그 라이브러리 사용

 

 

문자열 처리 함수 사용

 

 

 

728x90

'자바 웹 > jsp' 카테고리의 다른 글

JSP에서 파일 업로드, 다운로드  (0) 2022.06.19
표현 언어  (0) 2022.06.18
액션 태그  (0) 2022.05.15
JSP 스크립트 요소 기능  (0) 2022.05.14
JSP 정의와 구성요소  (0) 2022.05.14