Undergoing

Expression Language 본문

개발/Web Development

Expression Language

Halkrine 2012. 5. 18. 10:42

Expression Language = EL


<% request.getAttribute("ABC") %> == ${ABC}


EL식의 문법 : ${식}

- ${RESULT} : 데이터 이름 하나로만 구성된 EL식

- ${RESULT+100} : 연산자를 포함하는 EL식

- ${m:sqrt(100)} : 자바의 정적 메서드를 호출하는 EL식


JSP서블릿 기술에서 사용되는 네 종류의 애트리뷰트


 애트리뷰트의 종류

 호출할 때 사용하는 내장 변수

 메서드의 소속
 page 애트리뷰트

 pageContext 내장 변수

 javax.servlet.jsp.JspContext 클래스
 request 애트리뷰트

 request 내장 변수

 javax.servlet.ServletRequest 인터페이스

 session 애트리뷰트

 session 내장 변수

 javax.servlet.http.HttpSession 인터페이스
 application 애트리뷰트

 application 내장 변수

 javax.servlet.ServletContext 인터베이스



JSP 애트리뷰트 사용 예제


 Hundred.jsp

<%

int sum = 0;

for(int cnt = 1 ; cnt <= 100 ; cnt++)

{

sum += cnt;

}

request.setAttribute("RESULT", new Integer(sum));

RequestDispatcher dispatcher = request.getRequestDispatcher("HundredResult.jsp");

dispatcher.forward(request, response);

%> 

 HundredResult.jsp

<%@ page language="java" import="java.util.*" pageEncoding="EUC-KR"%>

<html>

  <head>

    <title>1에서부터 100까지의 합</title>

    

  </head>

  

  <body>

    1부터 100까지 더한 결과는 ? ${RESULT}

  </body>

</html> 

 Thousand.jsp

<%@ page language="java" import="java.util.*" pageEncoding="EUC-KR"%>

<%

int sum = 0;

for(int cnt = 1 ; cnt <= 1000 ; cnt++) sum += cnt;

pageContext.setAttribute("RESULT", new Integer(sum));

%>

<HTML>

<HEAD>

<TITLE>1부터 1000까지의 합 구하기</TITLE>

</HEAD>

<BODY>

1부터 1천까지 더한 결과는? ${RESULT}

</BODY>

</HTML> 


EL식 안에 있는 데이터 이름이 해석되는 순서

- page -> request -> session -> application


특정 종류의 애트리뷰트를 호출하는 방법

- ${pageScope. SUM} <= page Attribute임을 표시

- ${requestScope. SUM}<= request Attribute임을 표시

- ${sessionScope. SUM}<= session Attribute임을 표시

- ${applicationScope. SUM}<= application Attribute임을 표시


Expression Language의 내장 객체


 내장 객체 이름  표현하는 데이터  객체의 타입

 pageScope

 page 애트리뷰트의 집합  Map

 requestScope

 request 애트리뷰트의 집합

 Map  

 sessionScope

 session 애트리뷰트의 집합

 Map

 applicationScpoe

 application 애트리뷰트의 집합

 Map  

 param

 웹 브라우저로부터 입력된 데이터의 집합  Map  

 paramValues

 웹 브라우저로부터 입력된 데이터의 집합
 (똑같은 이름의 데이터가 여럿일 때 사용)

 Map  

 header

 HTTP 요청 메시지에 있는 HTTP헤더의 집합  Map  

 headerValues

 HTTP 요청 메시지에 있는 HTTP헤더의 집합

 (똑같은 이름의 헤더가 여럿일 때 사용) 

 Map  

 cookie

 웹 브라우저로부터 전송된 쿠키의 집합

 Map  
 initParam  웹 애플리케이션의 초기화 파라미터 집합  Map  

 pageContext

 JSP 페이지의 환경 정보의 집합

 PageContext


객체 사용방법

- ${param.입력 데이터 이름}
- ${param["입력 데이터 이름"]
- ${paramValues.입력 데이터 이름[인텍스]}




'개발 > Web Development' 카테고리의 다른 글

JSTL  (0) 2012.06.01
Standard Action  (0) 2012.05.31
ServletContext  (0) 2012.05.15
서블릿의 Life Cycle  (0) 2012.05.14
쿠키 입력과 삭제  (0) 2012.05.10