WEB/JSP

21. EL( Expression Language )

choi121xx 2013. 4. 23. 15:10


EL( Expression Language )


- 표현 언어

- EL은 스크립트릿<% %> 또는 표현식<%= %>을 좀더 간단하고 이해하기 쉽도록 표현하며, 속성값들을 좀더 쉽게 접근할수 있다.

- EL은 내장객체를 가지고 있어 코드를 줄일수 있고 JSTL과 같이 사용된다.


1) 형식 ${표현식}


2) EL연산자들

   [],.,(),-,not,empty,*,/,+,div,%,mod, <,>,<=,>=,   lt,gt,le,ge,!,==,!=,eq,ne,&&,and,||,or,...


3) EL 내장객체

pageScope,requestScope,sessionScope,applicationScope,param, paramValues, header, headerValues, cookie, initParam,..





EX>


<%@page import="test.beans.Member"%>

<%@ page language="java" contentType="text/html; charset=EUC-KR"

    pageEncoding="EUC-KR"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">

<title>Insert title here</title>

</head>

<body>

 10 + 20 = <%=10 + 20%><BR/>

 위의 문자를 el로 바꿔보면<br/>

 10 + 20 = ${10 + 20 }<br/> 

 10==20 : ${10==20}<br/>

 10>20: ${10 gt 20}<br/>

 10 &lt; 20 : ${10 lt 20 }<br/>

 8 mod 5: ${8 mod 5}<br/>

 8%5: ${ 8 % 5 }<br/>

 

 <%

  String id="song";

    String pwd="1234";

    request.setAttribute("id",id);

    request.setAttribute("pwd",pwd);

    session.setAttribute("name", "홍길동");

  %>

<%-- 

<%

  String id1 = (String)request.getAttribute("id");

  String pwd1 = (String)request.getAttribute("pwd");

 %>

 id:<%=id1 %><br/>

 pw:<%=pwd1 %><br/>

  --%>

  <!--  el로 바꿔보면  -->

  id:${requestScope.id }<br/>

  pwd:${requestScope.pwd }<br/>

  

  <%--

  EL은 스코프에 대한 내장객체를 갖고 있어 스코프에 저장된 속성들을 쉽게 접근할 수 있다.

  pageScope, requestScope, sessionScope, applicationScope

  ==> 스코프객체는 생략가능하며, 스코프명이 생략되면

  page < request < session < application 순으로 자동 찾아준다.

   --%>

   

  name:${sessionScope.name }<br/>

  name:${name}<br/> <!-- 중복이 아닌경우 이름만 써도 찾아 준다. -->

  

  <%--

  내장객체 : param --> 파라미터에 대한 정보를 갖음.

   --%>

   <!--  파라미터로 전달된 num값 얻어오기 

   http://localhost:8081/day07_jstl/test01_EL.jsp?num=100&name=kim

   -->

   num:${ param.num }<br/>

   name:${ param.name }<br/>

   

   <%

      Member vo = new Member("song","1234","song@daum.net","010-111-1234",null);

         //세션에 vo 객체 담기

         session.setAttribute("vo", vo);

      %>

   <%

   Member mm=(Member)session.getAttribute("vo");

   %>

아이디:<%=mm.getId() %>   <br/>

비밀번호:<%=mm.getPwd() %><br/>

이메일:<%=mm.getEmail() %></br>

전화번호:<%=mm.getPhone() %></br>


EL로 바꿔보면<BR/>

<!-- 내부적으로 getter메소드가 호출됨. -->

아이디:${sessionScope.vo.id }<br/>

비밀번호:${sessionScope.vo.pwd }<br/>


 </body>

</html>