상세 컨텐츠

본문 제목

[EL] EL 기본 개념

Backend/EL & JSTL

by hyeminyy 2023. 11. 21. 20:06

본문

728x90

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를 명시해주는 것이 가독성에 좋으니 쓰는 것이 좋다 !

 

728x90

'Backend > EL & JSTL' 카테고리의 다른 글

[JSTL] - 기본 문법  (0) 2023.11.22
[ JSTL ] JSTL 기초 , 설치 방법  (0) 2023.11.21

관련글 더보기