반응형
#48강 EL의 데이터 저장소
- 서버상에 존재하는 저장소는 크게 4가지 존재한다. (page, request, session, application)
- page객체에 담아서 EL을 통해 사용할 수 있다.
//
<%
pageContext.setAttribute("aa", "hello");
%>
// 사용 시
${aa}로 사용
// 적용된 코드
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<%
pageContext.setAttribute("aa", "hello");
%>
<body>
<%=request.getAttribute("result") %>입니다.
${result}입니다.<br>
${names[0]}
${names[1]}<br>
${notice.title}<br>
${aa}
</body>
</html>
- 특정 내장 객체 내에 존재하는 값만 꺼내고 싶은 경우 Scope사용. (pageScope, requestScope, sessionScope, applicationScope)
- 중복되는 result가 존재하는 경우 Scope를 아래와 같이 사용하여 출력한다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<%
pageContext.setAttribute("result", "hello");
%>
<body>
<%=request.getAttribute("result") %>입니다.
${result}입니다.<br>
${names[0]}
${names[1]}<br>
${notice.title}<br>
${result} // hello가 출력된다.
${requestScope.result} // 짝수가 출력된다.
</body>
</html>
- EL표기는 4대 저장소 외에도 파라미터, 헤더 값 등을 쉽게 얻어낼 수 있다. (param, paramValues, header, headervalues, cookie, initParam 등)
- 헤더관련 출력한 정보는 홈페이지 내 개발자 도구(f12)의 헤더 항목에서 각 목록 확인 가능하다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<%
pageContext.setAttribute("result", "hello");
%>
<body>
<%=request.getAttribute("result") %>입니다.
${result}입니다.<br>
${names[0]}
${names[1]}<br>
${notice.title}<br>
${result}
${requestScope.result}<br>
${param.n} // 파라미터 관련 출력
${header.accept}<br> // 헤더 accept 관련 출력
</body>
</html>
- pageContext 객체
<%=pagecontext.getRequest().getMethod()%> 를 EL을 통하여
${pageContext.request.method}로 사용 가능하다.
반응형
'프로그래밍 > 자바, JDBC' 카테고리의 다른 글
뉴렉처 학습(서블릿/JSP) 50강 ~ 51강 (0) | 2020.06.03 |
---|---|
뉴렉처 학습(서블릿/JSP) 49강 (0) | 2020.06.02 |
뉴렉처 학습(서블릿/JSP) 47강 (0) | 2020.05.30 |
뉴렉처 학습(서블릿/JSP) 45강 ~ 46강 (0) | 2020.05.29 |
뉴렉처 학습(서블릿/JSP) 44강 (0) | 2020.05.28 |