page ์์ญ์ ๊ธฐ๋ณธ์ ์ผ๋ก ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ์ฒ๋ฆฌํ๋ ๋ฐ ๊ด์ฌํ๋ JSPํ์ด์ง๋ง๋ค ํ๋์ฉ ์์ฑ๋๋ค.
page ์์ญ์ ์ฌ์ฉํ๊ธฐ ์ํ pageContext ๊ฐ์ฒด๋ฅผ ํ ๋น๋ฐ๊ฒ ๋๋๋ฐ, ์ด ๊ฐ์ฒด์ ์ ์ฅ๋ ์ ๋ณด๋
ํด๋น ํ์ด์ง์์๋ง ์ฌ์ฉํ ์ ์๊ณ ํ์ด์ง๋ฅผ ๋ฒ์ด๋๋ฉด ์๋ฉธ๋๋ค.
์์ )

PageContextMain.jsp ์์ฑ
<%@page import="common.Person"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
pageContext.setAttribute("pageInteger", 1000);
pageContext.setAttribute("pageString","ํ์ด์ง์ ๋ฌธ์์ด");
pageContext.setAttribute("pagePerson", new Person("ํ์๋ด",99));
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h2>page ์์ญ์ ์์ฑ๊ฐ ์ฝ๊ธฐ</h2>
<%
int pInteger =(Integer)(pageContext.getAttribute("pageInteger"));
String pString = (String)(pageContext.getAttribute("pageString"));
Person pPerson = (Person)(pageContext.getAttribute("pagePerson"));
%>
<ul>
<li>Integer ๊ฐ์ฒด : <%= pInteger%></li>
<li>String ๊ฐ์ฒด : <%= pString%></li>
<li>Person ๊ฐ์ฒด : <%= pPerson.getName()%>,<%=pPerson.getAge() %></li>
</ul>
<h2>include๋ ํ์ผ์์ page ์์ญ ์ฝ์ด์ค๊ธฐ</h2>
<%@include file ="PageInclude.jsp" %>
<h2>ํ์ด์ง ์ด๋ ํ page ์์ญ ์ฝ์ด์ค๊ธฐ</h2>
<a href="PageLocation.jsp">PageLocation.jsp ๋ฐ๋ก๊ฐ๊ธฐ</a>
</body>
</html>
include ํ์ผ์ธ
PageInclude.jsp ์์ฑ

<%@page import="common.Person"%>
<%@ 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>
<body>
<h4>Include ํ์ด์ง</h4>
<%
int pInteger2 = (Integer) (pageContext.getAttribute("pageInteger"));
String pString2 = (String) (pageContext.getAttribute("pageString"));
Person pPerson2 = (Person) (pageContext.getAttribute("pagePerson"));
%>
<ul>
<li>Integer ๊ฐ์ฒด : <%=pInteger2%></li>
<li>String ๊ฐ์ฒด : <%=pString2%></li>
<li>Person ๊ฐ์ฒด : <%=pPerson2.getName()%>,<%=pPerson2.getAge()%></li>
</ul>
</body>
</html>
ํ๋ฉด ์ถ๋ ฅ

<a>ํ๊ทธ ๋งํฌ๋ก ์ด๋ํ ๋ณ๋ ํ์ด์ง
PageLocation.jsp ํ์ผ ์์ฑ
<%@page import="common.Person"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>page ์์ญ</title>
</head>
<body>
<h2>์ด๋ ํ page ์์ญ์ ์์ฑ๊ฐ ์ฝ๊ธฐ</h2>
<%
Object pInteger = pageContext.getAttribute("pageInteger");
Object pString = pageContext.getAttribute("pageString");
Object pPerson = pageContext.getAttribute("pagePerson");
%>
<ul>
<li>Integer ๊ฐ์ฒด : <%=(pInteger == null) ? "๊ฐ ์์" : pInteger %></li>
<li>String ๊ฐ์ฒด : <%=(pString == null) ? "๊ฐ ์์" : pString %></li>
<li>Person ๊ฐ์ฒด : <%=(pPerson == null) ? "๊ฐ ์์" : ((Person)pPerson).getName()%></li>
</ul>
</body>
</html>
ํ๋ฉด ์ถ๋ ฅ

1. Person.java ๊ฐ์ฒด ์ฌ์ฉ์ ์ํด์ import ํจ
2. pageConnext ๊ฐ์ฒด๋ฅผ ํตํด page ์์ญ์ ์์ฑ๊ฐ์ ์ ์ฅํ์. (set)
3. ์ ์ฅํ ์์ฑ๊ฐ์ ๋ค์ ์ฝ์ด ์ด (get) -> ์ด๋ set์ ํ ๊ฒฝ์ฐ object ํ์ ์ผ๋ก ์ ์ฅ๋๊ธฐ ๋๋ฌธ์ ๋ค์
์๋์ ํ์ ์ผ๋ก ํ๋ณํ์ ํด์ค์ผํจ .
4. Person ๊ฐ์ฒด๋ฅผ ๋ถ๋ฌ์ฌ๋๋ ๊ฒํฐ ๋ฉ์๋๋ฅผ ํตํด ์ฝ์ด์ด
5. include ์ง์์ด๋ก ๋ค๋ฅธ jsp์ ํฌํจ์ํฌ ์ ์์. ํ์ด์ง ์์ญ์ ๊ทธ๋๋ก ์ ์ง๋๊ณ ํฉ์ณ์ง๋ค๊ณ ์๊ฐํ๋ฉด ๋จ.
-> ๊ฐ์ ํ์ด์ง๋ก ๋ด
6. <a>ํ๊ทธ์ ์ฌ์ฉ์ผ๋ก ๋ค๋ฅธ ํ์ด์ง๋ก ์ด๋ํ ์ ์์. ๋ฐ๋ผ์ ์ด์ ํ์ด์ง์์ ๋ง๋ page ์์ญ์ ์๋ฉธ
1) ํ์ด์ง ์์ฑ๊ฐ์ ๊ฐ์ ธ์ด (get)
2) ๊ฐ์ ธ์ค๋ ค๋ ์์ฑ์ด ์กด์ฌํ์ง ์๋๋ค๋ฉด getAttiribute()๋ฉ์๋๊ฐ null์ ๋ฐํํ๊ณ , null์ int ํ์ ๋ณ์์ ๋ด์ผ๋ ค ์๋ํ ๋ค๋ฉด ์์ธ ๋ฐ์์ด ๋จ. -> null์ด ์๋์ง ํ์ธ ํ๋๊ฑธ๋ก -> ๊ฐ ์์ ํ์ธ ์๋ฃ
3) <a> ํ๊ทธ๋ฅผ ํตํ ์ด๋์ ์๋ก์ด ํ์ด์ง๋ฅผ ์์ฒญํ๋ ๊ฒ์ด๋ฏ๋ก ๋ค๋ฅธ ํ์ด์ง์ -> page์์ญ ๊ณต์ x
'BACKEND > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| Scope ) session ์์ญ (0) | 2023.09.26 |
|---|---|
| Scope ) request ์์ญ (0) | 2023.09.26 |
| ๋ฐ์ดํฐ ์ ์ก ๊ฐ์ฒด(DTO) ์ค๋น, ์๋ฐ๋น์ฆ (0) | 2023.09.26 |
| [ํ๋ก๊ทธ๋๋จธ์ค] ํผ์ ๋๋ ๋จน๊ธฐ (1) (0) | 2023.09.21 |
| [ํ๋ก๊ทธ๋๋จธ์ค] ์์ด์ค ์๋ฉ๋ฆฌ์นด๋ ธ ๊ตฌ๋งค๊ฐ๋ฅ ๊ฐ์์ ๊ฑฐ์ค๋ฆ๋ (0) | 2023.09.21 |