EL(Expression Language)1

oyeon·2021년 1월 11일
0

표현언어(Expression Language)는 값을 표현하는 데 사용되는 스크립트 언어로서 JSP의 기본 문법을 보완하는 역할을 한다.

표현 언어가 제공하는 기능

  • JSP의 scope에 맞는 속성 사용
  • 집합 객체에 대한 접근 방법 제공
  • 수치 연산, 관계 연산, 논리 연산자 제공
  • 자바 클래스 메서드 호출 기능 제공
  • 표현언어만의 기본 객체 제공

${expr}

예제

<jsp:include page="/module/${skin.id}/header.jsp" fflush="true" />
<b>${sessionScope.member.id}</b>님 환영합니다.
  • 표현언어는 JSP의 스크립트요소 (Scriptlet, 표현식, 선언부)를 제외한 나머지 부분에서 사용될 수 있다.

표현언어의 기본 객체

  • pageContext, pageScope, requestScope, sessionScope, applicationScope, param, paramValues, header, headerValues, cookie, initParam
// 기본 객체 사용 예
<body>
요청 URI: ${pageContext.request.requestURI} <br> // pageContext.getRequest().getRequestURI()
request의 name 속성 : ${requestScope.name} <br>	// request.getAttribute("name")
code 파라미터 : ${param.code}		// request.getParameter("code")
</body>

훨씬 깔끔하게 jsp를 작성하는 모습을 볼 수 있다.

${expr1, expr2}

객체 접근 규칙

  • expr1이나 expr2가 null이면 null 반환
  • expr1이 Map일 경우 expr2을 key로한 값을 반환
  • expr1이 List나 Array이면 expr2가 정수일 경우 해당 정수 번째 index에 해당하는 값을 반환
  • 이때 만약 expr2가 정수가 아닐 경우에는 오류가 발생
  • expr1이 객체일 경우 expr2에 해당하는 getter 메서드에 해당하는 메서드를 호출한 결과 반환

표현 언어 비활성화 : JSP에 명시하기

<%@ page isELIgonored = "true" %>
profile
Enjoy to study

0개의 댓글