[JSP] EL(표현언어)

1 minute read

현재 JSP페이지는 스크립트 요소보다는 표현 언어(EL, Expression Language)와 JSTL(JSP Standard Tag Library)를 이용하여 구현한다.

표현언어 (EL,Expression Language )

표현 언어는 자바 코드가 들어가는 표현식을 좀 더 편리하기 위해 도입된 데이터 출력 기능이다. 페이지 디렉티브 태그에서 반드시 isELIgnored=false 설정을 하고 사용한다. <%@ page ... isELIgnored=false %>

${expr} 형태로 표현한다. (expr : 표현언어가 정의한 문법에 따라 값을 표현하는 식)

표현언어의 사용 예

  1. ${ value or 변수명 }
    • 기본 제공 자료형 : boolean, logn, double, String, null
  2. ${ obj. name }
    • Object : getMethod를 통해 출력. static 메서드도 가능.
    • Map : get(key) 호출
  3. ${ obj[0] }
    • List : 해당 인덱스 접근

표현언어의 연산자

  • 산술 연산자 : +,-,*,/(div), %(mod)
  • 비교 연산자 : =(eq), !=(ne), <(lt), >(gt), <=(le), >=(ge)
  • 논리 연산자 : &&(and), ||(or), !(not)
  • empty 연산자 : 값이 null이거나 컬렉션이 비어있는지 체크하여, 비어있으면 true를 반환한다. ${empty value}
  • 조건 연산자 : 삼항연산자

표현 언어 내장객체

Scope(스코프)와 요청 매개변수

내장객체 설명
pageScope JSP의 page와 같은 기능을 하고 page영역에 바인딩한 객체롤 참조한다.
requestScope JSP의 request와 같은 기능을 하고 request에 바인딩된 객체를 참조한다.
sessionScope JSP의 session과 같은 기능을 하고 session에 바인딩된 객체를 참조한다.
applicaitonScope JSP의 application과 같은 기능을하고 application에 바인딩된 객체를 참조한다.
param request.getParameter(이름) 호출과 동일.
paramValues request.getParameterValues(이름) 호출과 동일, 여러개의 값을 전달하는 요청매개변수 처리

scope의 경우 명시적으로 표기하지 않으면 page -> request -> session -> application 순으로 참조하는 것을 참고한다.

그 외

내장객체 설명
header request.getHeader(이름)과 동일, 요청 헤더 이름의 정보를 단일 값으로 반환한다.
headerValues request.getHeaders(이름)과 동일, 요청 헤더 이름의 정보를 배열로 반환.
Cookies 쿠키 이름의 값을 반환한다.
pageContext pageContext 객체를 참조할 때 사용한다. request.getCookies()
initParam 컨텍스트 초기화 매개변수 이름의 값을 반환. application.getInitParameter(이름)과 동일.

Tags:

Categories:

Updated:

Comments