본문 바로가기

JSP/EL 01

Introduction to EL

EL에서 Bean, List, Map, 배열 다루는 방법


2가지 형식을 모두 사용할 수 있는 경우 ([]연산자와 도트연산자 모두 사용가능)
Bean객체일 경우 : ${ obj["attr"] }, ${ obj.attr }          ==> obj.getXXX() 호출됨
Map일 경우        : ${ map["key"] }, ${ map.key }    ==> map.get("key") 호출됨, 키가 한글일 경우에는 map.key는 영문만

1가지 형식만 사용가능한 경우 ([]연산자만 사용할 수 있는 경우)
List일 경우         : ${ list[0] }
배열일 경우        : ${ arr[0] }

<%@ page contentType="text/html;charset=KSC5601"%>
<HTML><HEAD><TITLE></TITLE></HEAD>
<BODY>

<%
 pageContext.setAttribute("d", java.util.Calendar.getInstance());
 java.util.Calendar cal = java.util.Calendar.getInstance();
 pageContext.setAttribute("s", "Hello World");
 session.setAttribute("id", "my_id");
%>

\${d.time} ==> ${d.time}<br>
\${d.timeInMillis} ==> ${d.timeInMillis}<br>
\${d.timeZone} ==> ${d.timeZone}<br>
\${s} ==> ${s};<br>
\${param.name} ==> ${param.name}<br>
${empty param.name ? "파라미터 없음": param.name}<br>
\${cookie["JSESSIONID"].value} ==> ${cookie["JSESSIONID"].value}<br>
\${cookie.JSESSIONID.value} ==> ${cookie.JSESSIONID.value}<br>

\${id} ==> ${id}<br>
\${sessionScope.id} ==> ${sessionScope.id}<br>
</BODY>
</HTML>

 

<%@ page contentType="text/html;charset=KSC5601"%>
<HTML><HEAD><TITLE></TITLE></HEAD>
<BODY>
<%-- 다음과 같이 정의한 빈 클래스의 객체를 EL에서 접근해 본다
 package sample;
 public class SampleBean{

  private String name, phone;

  public void setName(String name) {
   this.name = name;
  }
  public void setPhone(String phone) {
   this.phone = phone;
  }
  public String getName() {
   return name;
  }
  public String getPhone() {
   return phone;
  }
 }
--%>

<jsp:useBean id="sb" class="sample.SampleBean">
 <jsp:setProperty name="sb" property="*"/>
</jsp:useBean>

<%-- 위와 같이 useBean 을 이용하여 객체를 생성하면 디폴트로 page 영역(pageContext)에 저장되므로 EL표현식으로 쉽게 접근할 수 있다--%>

이름: ${sb.name}<br>
전화: ${sb.phone}<br>

</BODY>
</HTML>