반응형

JSP, EL 스코프 영역 접근 예제 및 생략 시 우선순위

 

글. 수알치 오상문 

 

1) EL을 사용한 경우와 아닌 경우 비교 예제 

 

[ 예제: el1.jsp ] EL을 사용하지 않는 접근 방식 (body 부분) 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
    pageContext.setAttribute("pvar", "page 영역 값");
    request.setAttribute("rvar", "request 영역 값");
    session.setAttribute("svar", "session 영역 값");
    application.setAttribute("avar", "application 영역 값");
%>    
<!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=UTF-8">
<title> 일반 접근 </title>
</head>
<body>
pvar : pageContext.getAttribute("pvar")<br>
rvar : request.getAttribute("rvar")<br>
svar : session.getAttribute("svar")<br>
avar : application.getAttribute("avar")<br>
</body>
</html>

 

[ 예제 el2.jsp ] EL을 사용한 접근 방식 (body 부분)

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
    pageContext.setAttribute("pvar", "page 영역 값");
    request.setAttribute("rvar", "request 영역 값");
    session.setAttribute("svar", "session 영역 값");
    application.setAttribute("avar", "application 영역 값");
%>    
<!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=UTF-8">
<title> EL 접근 </title>
</head>
<body>
pvar : ${pageScope.pvar }<br>
rvar : ${requestScope.avar }<br>
svar : ${sessionScope.svar }<br>
avar : ${applicationScope.avar }<br>
</body>
</html>

 

2) 스코프 생략 및 스코프 우선순위  

 

스코프를 생략하고 다음처럼 하위 요소를 직접 지정할 수 있다.

 

pvar : ${pvar }<br>
rvar : ${avar }<br>
svar : ${svar }<br>
avar : ${avar }<br>

만약 전체 영역에서 출동하는 이름이 있다면, 가장 작은 영역에 우선권이 있다. 즉, 스코프 생략 시 page 스코프가 가장 먼저 적용된다. 그 다음은 request, session, application 순서로 먼저 찾아서 적용한다.

 

반응형

+ Recent posts