EL(Expression Language)이란?

EL(Expression Language)

- 화면 출력을 하기 위해서 만들어진 언어이다.

- jsp에서 만들어낸 언어이다.

- 간단한 연산 결과, scope객체의 사용, parameter의 출력을 할 수 있다.

- null은 출력하지 않는다.

- 문자열은 ' 또는 "를 이용해서 표현, 사용 할 수 있다.

- page directive에서 isELIgnored = "false"인 상태에서 사용 가능하다.(EL에서도 취약점이 발견되었다. 만약 특정 페이지에서 사용하지 않으려면 값을 true로 바꿔줘야 한다.)

 

EL 사용법 ${ }

- ${}에서 사용 가능한 연산자 [사용 가능한 표현식 : 기호 (약어) ]

산술연산자 : +, -, *, /, % or mod

관계연산자 : >(gt), <(lt), >=(ge), <=(le), ==(eq), !=(ne)

일반 논리연산자 : &&(and), ||(or)

삼항연산지 : (조건식)? 참:거짓

 

EL에서 parameter 출력

- param 객체 사용

${param.control명}

ex)-------------------------------------------------

http://localhost:8080/jsp_prj/test.jsp?name=kim&age=20 일 때,

${param.name}

${param.age}

----------------------------------------------------

 

EL에서 Scope객체의 사용

- scriptlet, declaration에서 선언된 변수를 직접 참조 할 수 없다. 사용하기 위해서는 scope객체에 넣어서 사용해야 한다.

ex)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

불가능  가능 
 <% int i=10; %>


${i}
<%
    String name="진기";
    pageContext.setAttribute("a",name);
%>


${pageScope.a}


scope 객체

 

 

 

 

 

 

객체명  설명 
pageScope   값을 현재 페이지에서만 사용 할 때 사용한다.
 pageContext.setAttribute("속성명", 값); 
requestScope   값을 forward로 이동한 페이지에서도 사용 할 수 있다.
 request.setAttribute("속성명", 값); 
sessionScope   값을 접속자 브라우저마다 저장하고 사용 할 때 사용한다.
 session.setAttribute("속성명", 값); 
applicationScope   값을 모든 접속자가 사용 할 때 사용한다.
 application.setAttribute("속성명", 값);