본문 바로가기

Web

표현 언어 EL

표현 언어란?

값을 표현하는 데 사용되는 스크립트 언어로 JSP의 기본 문법을 보완하는 역할을 함

 

제공 기능?

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

표현 방법?

${expr }

기본 객체?

데이터 타입?

  • boolean : true/false
  • 정수 : 0-9로 이루어져 있고, 음의 경우 -가 붙음
  • 실수 : 0-9로 이루어져 있고, 소수점 사용 가능 및 3.24e3 처럼 지수형으로 표현 가능
  • 문자열 : 따옴표로 둘러싼 문자열. 
  • 널 : null

객체 접근 규칙?

${<표현1>.<표현2>}

  • 표현1이나 표현 2가 null이면 null을 반환한다.
  • 표현1이 Map일 경우 표현2를 key로한 값을 반환한다.
  • 표현1이 List나 배열이면 표현2가 정수일 경우 해당 정수 번째 index에 해당하는 값을 반환한다.
  • 만약 정수가 아닐 경우에는 오류가 발생한다.
  • 표현1이 객체일 경우는 표현2에 해당하는 getter메소드에 해당하는 메소드를 호출한 결과를 반환한다.

 

표현 언어 비활성화 방법 : <%@ page isELIgnored = "true" %>

 

 

실습

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<% 
	pageContext.setAttribute("p1", "page scope value");
	request.setAttribute("r1", "request scope value");
	session.setAttribute("s1", "session scope value");
	application.setAttribute("a1", "application scope value");
%>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
pageContext.getAttribute("p1") : <%=pageContext.getAttribute("p1") %> <br>
pageContext.getAttribute("p1") : ${pageScope.p1}<br>
request.getAttribute("r1") : ${requestScope.r1 }<br>
session.getAttribute("s1") : ${sessionScope.s1 }<br>
application.getAttribute("a1") : ${applicationScope.a1 }<br>

<!-- 사용되는 변수명이 겹치지 않는다면 스코프 명시하지 않고 바로 사용 가능  -->
<br><br>
pageContext.getAttribute("p1") : ${p1 }<br>
request.getAttribute("r1") : ${r1 }<br>
session.getAttribute("s1") : ${s1 }<br>
application.getAttribute("a1") : ${a1 }<br>

</body>
</html>

 

실행 결과

 

 

 

 

 

 

 

 

출처

https://www.boostcourse.org/web316/lecture/254288?isDesc=false  

 

'Web' 카테고리의 다른 글

Scope  (0) 2021.08.23
Servlet , JSP 연동하기 (forward)  (0) 2021.08.19
Redirect & Forward  (0) 2021.08.08
JSP 내장 객체  (0) 2021.08.02
[eclipse] 자바 웹 어플리케이션 생성 (+ Finish버튼 비활성화 시)  (0) 2021.08.01