값을 간결하고 간편하게 출력할 수 있도록 해주는 언어. ${ }
의 형식으로 사용한다.
EL문에서는 연산자도 사용 가능하다.
연산자 | 연산부호 |
---|---|
/ | div |
% | mod |
&& | and |
|| | or |
! | not |
> | gt |
< | lt |
>= | ge |
<= | le |
== | eq |
!= | ne |
empty
연산자
뒤에 올 값이 비어있으면 true
, 아니라면 false
${empty data} <!-- data의 값이 없으면 true -->
${pageScope}
: page Scope에 접근하기 위한 객체${requestScope}
: request Scope에 접근하기 위한 객체${sessionScope}
: session Scope에 접근하기 위한 객체${applicationScope}
: application Scope에 접근하기 위한 객체${param}
: 파라미터 값을 가져오기 위한 객체${header}
: 헤더 값을 가져오기 위한 객체${cookie}
: 쿠키 값을 가져오기 위한 객체${initParam}
: JSP 초기 파라미터를 가져오기 위한 객체${pageContext}
: pageContext 객체에 접근하기 위한 객체<!-- ..생략.. -->
<body>
<!-- ${2+3} : 5 출력. EL문 앞에 '\'을 써주면 연산되지 않고 문자 그대로 출력된다.-->
\${2+3} : ${2+3}
<!-- ${10>5} : true -->
\${10>5} : ${10>5}
</body>
<!-- ..생략.. -->
<body>
<%
// 여기서의 data는 변수명이 아니라 setAttribute() 할 때의 key값임을 주의하자
pageContext.setAttribute("data", "pageContext scope");
request.setAttribute("data", "request scope");
session.setAttribute("data", "session scope");
%>
<!-- pageContext scope -->
\${data} : ${data}
<!-- request scope -->
\${requestScope.data} : ${requestScope.data}
<!-- session scope -->
\${sessionScope.data} : ${sessionScope.data}
</body>
setAttribute 찾는 순서 : pageContext -> request -> session -> application
<!-- ..생략.. -->
<!--
어떤 페이지에서 form 으로 name="id"인 아이디 "id1234"와
name="pw"인 비밀번호 "pw1234"와
name="name" 인 이름 null 을 넘겨받았다고 가정
-->
<body>
<!-- 아이디 : id1234 -->
아이디 : ${param.id}
<!-- 비밀번호 : pw1234 -->
비밀번호 : ${param.pw}
<!-- 이름 : 이름없음 -->
<!-- 아래와 같이 삼항연산자도 사용 가능하다 -->
이름 : ${param.name != null?param.name:"이름없음"}
</body>