롸?
JSTL과 EL 본문
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
'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