EL 개념
- Expression Language의 약자로 JSP 2.0에서 새롭게 추가된 스크립트 언어이다.
- 스크립트의 <% %>, <%= %>표현식을 좀 더 간단하고 이해하기 쉽도록 표현된 언어이다.
- 기존의 Script tag의 표현식 ( 정보 : 스크립트 릿 ) tag에서 업그레이드된 버전 ( ${정보} )
EL 특징
- JSP속성 영역 (request, response, session, application) 저장된 속성 객체의 property를 출력한다.
- 리터럴 데이터, 다양한 연산 결과 출력이 가능하다.
- JSTL과 연동이 가능하다.
EL 출력 표현식
- JSP 페이지에서 사용되는 출력 전용 스크립트 언어
- 서버에서 해석되는 스크립트언어 ( 서버에서 실행되서 서버에서 출력되는 )
EL : tomcat 서버가 내장하고 있는 자원 ( 별도의 참조가 필요 없다.)
JSTL : 다운로드해서 WEB_INF/lib/jar파일 추가해야 한다.
EL은 param, paramValues, requestScope, sesssionScope, applicationScope, cookie ..등 객체를 가지고 있다.
forward
- 클라이언트에서 요청한 내용에 대한 응답을 jsp 페이지 또는 다른 서블릿으로 위임 하는 것
- contextpath를 넣지 않는다.
- 위임과 같은 context안에서만 가능하다.
Ex)
<%
//EL 출력 대체
Date today = new Date();
request.setAttribute("day", today); //foward쓰면 쓸수있다.
session.setAttribute("day2", today); //모두 사용 가능(어디파일에나)
%>
EL은 자원을 가지고 있거나 객체를 다루는 기술은 아니라서 java언어와 동일하게 사용해준다.
request.setAttribute("day", today); >> 사용자 요청으로 day를 today로 지정한다.
session.setAttribute("day2", today); >> session에 day2를 today로 지정한 값을 저장한다.
session 이란 웹컨테이너에서 클라이언트의 정보를 서버에 보관하는 기능이다.
1회성으로 연결이 종료되는 http 의 단점을 보완해 클라이언트와 서버 간 접속을 유지시켜준다.
사용자와 컴퓨터에 저장되는 쿠키에 비해 session은 서버에 저장되어 비교적 보안이 좋다.
<h3>JSP 출력</h3>
<b><%=id %></b>
<b><%=request.getAttribute("name") %></b>
<b><%=request.getAttribute("user") %></b>
<h3>EL 출력</h3>
${requestScope.name}<br>
${requestScope.user}<br>
<h3>EL</h3>
${requestScope.day}<br>
${day} <br> <!-- 유지보수할 때 힘들 수 있음 day와 어떤 객체에 담겨 있는지 모름 scope 명시 -->
${sessionScope.day2}<br> <!-- 가독성 높일 수 있음 -->
EL을 사용할 때 ${ } 으로 나타내며, 어디 객체에 담겨 있는지 모르기 때문에
${requestScope.day} 처럼 Scope를 명시해주는 것이 가독성에 좋으니 쓰는 것이 좋다 !
'Backend > EL & JSTL' 카테고리의 다른 글
[JSTL] - 기본 문법 (0) | 2023.11.22 |
---|---|
[ JSTL ] JSTL 기초 , 설치 방법 (0) | 2023.11.21 |