롸?

JSTL과 EL 본문

WEB/JSP & Servlet

JSTL과 EL

허니버터새우깡 2020. 3. 24. 17:50

1. EL(Expression Language)

  EL은 JSP의 출력 문법을 대체하는 표현 언어. 배열이나 컬렉션에서도 사용되고, JavaBean의 프로퍼티에서도 사용된다.

 

  • JSP에서의 값 표기법
    • <%= %>,  out.println()
  • EL에서의 값 표기법
    • ${ }

EL 표기법에서 파라미터의 값은 param 키워드를 통해서 가져올 수 있다. 

JSP에서 파라미터는 문자열이지만, EL에서는 숫자는 숫자로, 문자열은 문자열로 인식한다

 

1-1. EL의 내장객체

Category 식별자 설명
JSP pageContext 현재 페이지의 프로세싱과 상응하는 PageContext 인스턴스
범위 pageScope 페이지 범위 애트리뷰트 이름과 값과 관련된 Map
requestScope 요청 범위 애트리뷰트 이름과 값과 관련된 Map
sessionScope 세션 범위 애트리뷰트 이름과 값과 관련된 Map
applicationScope 애플리케이션 범위 애트리뷰트 이름과 값과 관련된 Map
요청 매개변수 param 요청 매개변수의 기본 값을 이름으로 저장하는 Map
paramValues 요청 매개변수의 모든 값을 String 어레이로서 저장하는 Map
요청 헤더 header 요청 헤더의 기본 값을 이름으로 저장하는 Map
headerValues 요청 헤더의 모든 값을 String 어레이로서 저장하는 Map
쿠키 cookie 요청에 수반되는 쿠키들을 이름으로 저장하는 Map
초기화 매개변수 initParam 웹 애플리케이션의 콘텍스트 초기화 매개변수를 이릉으로 저장하는 Map

 

 

2. JSTL(JavaServer Pages Standard Tag Library)

  JSTL은 태그를 통해 JSP 코드를 관리하는 라이브러리로서 <jsp:useBean>과 같은 커스텀 태그처럼 연산이나 if문, for문, DB를 편하게 처리할 수 있다.

  라이브러리이기때문에 JSTL을 사용하려면 라이브러리를 다운로드해서 추가해야하고 다음과 같이 선언을 해줘야 한다.

 

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

prefix는 본인이 편한대로 아무거나 써도 가능하지만 보통 core라는 의미로 c를 많이 쓴다.

 

 

JSP파일에서는 스크립트릿 <% %>을 사용하는 것보다는 JSTL과 EL사용을 권장한다.

스크립트릿을 사용하면 HTML태그를 사용할 때 가독성이 떨어지며, 퍼블리셔와 협업할 때 Java코드가 섞여있어서 소통하기 불편하기 때문이다. 

 

 

 


참고 

1.  https://victorydntmd.tistory.com/156

2.  https://hunit.tistory.com/203

3.  http://cafe.daum.net/flowlife/HqLp/20

'WEB > JSP & Servlet' 카테고리의 다른 글

Beans  (0) 2020.04.04
MVC 패턴  (0) 2020.03.19
<jsp:include> vs <%@ include %>  (0) 2020.03.19
JDBC Connection pooling  (0) 2020.03.18
RequestDispatcher & sendRedirect 방식  (0) 2020.03.17
Comments