rhanziy

JSTL 개념, 문법, 셋팅 본문

Java

JSTL 개념, 문법, 셋팅

rhanziy 2023. 3. 30. 11:03

JSTL : Java server pages Standard Tag Library

  • Java EE 기반의 웹 어플리케이션 개발 플랫폼을 위한 컴포넌트 모음이다.
  • XML 데이터 처리와 조건문, 반복문, 국제화와 지역화같은 일을 처리하기 위한 JSP태그 라이브러리를 추가하여 JSP 사양을 확장했다.
  • JSP 페이지 내에서 자바 코드를 바로 사용하지 않고 로직을 내장하는 방법을 제공한다.
  • Java 코드를 바로 사용하지 않고 HTML태그 형태로 직관적인 코딩을 지원한다.

 

문법

 

JSTL core의 태그들

 

태그명 설명
<c:set> 변수명에 값을 할당
<c:out> 값을 출력
<c:if> 조건식에 해당하는 블럭과 사용될 scope 설정
<c:choose> 다른 언어의 switch와 비슷
<c:when> switch문의 case에 해당
<c:otherwise> switch문의 default에 해당
<c:forEach> 다른언어의 loop문 items 속성에 배열 할당 = for문

 

 

EL의 내장객체

 

객체명 설명
${pageScope} page Scope에 접근하기 위한 객체
${requestScope} request Scope에 접근하기 위한 객체
${sessionScope} session Scope에 접근하기 위한 객체
${applicationScope} application Scope에 접근하기 위한 객체
${param} 파라미터 값을 가져오기 위한 객체
${header} 헤더 값을 가져오기 위한 객체
${cookie} 쿠키 값을 가져오기 위한 객체
${initParam} JSP 초기 파라미터를 가져오기 위한 객체
${pageContext} pageContext 객체에 접근하기 위한 객체

 

EL 비교연산자(나머지는 평소 아는 연산자)

 

연산자
== (eq)
!= (ne)
< (lt)
> (gt)
<= (le)
>= (ge)

 

forEach 문법 사용 예제

<% @taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<html>
 <body>
  <c:forEach var="i" begin="1" end="10" step="1">
   <c:out value="${i}"/>
   <br/>
  </c:forEach>

  ${person.address.city}

 </body>
</html>

 

설치/셋팅

 

1. https://repo1.maven.org/maven2/jstl/jstl/1.2/ 에 접속해서 jar파일을 설치한다.

 

2. jar파일 경로는 tomcat/lib 폴더 내부로 이동시킨다.

 

2. JSP에서 JSTL을 사용하기 위해 taglib지시자로 상단에 라이브러리를 선언해야한다.

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

 


 

알아두면 좋은 JSTL 표현들

 

// javascript 에서 model parameter를 가져오는 방법

var key = '<c:out value='${key}' />';
// javascript에서 context path를 가져오는 방법

var G_CONTEXT_PATH = "${pageContext.request.contextPath}";
// jsp에서 url의 get parameter를 가져오는 방법

<c:if test="${param.loginFail eq 'true'}">
  <div class="login-fail">아이디 혹은 비밀번호가 일치하지 않습니다.</div>
</c:if>
// jsp에서 현재 년도 구하기

<jsp:useBean id="now" class="java.util.Date" />
<fmt:formatDate var="year" value="${now}" pattern="yyyy" />
<p>Current year: ${year}</p>
<p>Previous year: ${year - 1}</p>

'Java' 카테고리의 다른 글

Java - Enum 열거형  (0) 2023.04.06
23.04.03. 작은 실습  (0) 2023.04.03
스프링 파일 업로드 관련  (0) 2022.09.05
스프링 주요 특징  (0) 2022.09.05
스프링 pom.xml, dbcp 설정 정리  (0) 2022.09.05
Comments