
2025๋ 4์ 3์ผ
JSP์์ ๋ฐ์ดํฐ๋ฅผ ์ถ๋ ฅํ ๋ ์ฌ์ฉ๋๋ ํํ ์ธ์ด(EL)๋
์คํฌ๋ฆฝํ๋ฆฟ(<% %>) ์์ด๋ ๊ฐ์ ๊ฐ๊ฒฐํ๊ฒ ์ถ๋ ฅํ ์ ์๊ฒ ํด์ฃผ๋ ๋ฌธ๋ฒ์ด๋ค.
${๋ณ์๋ช
}
${scope.๋ณ์๋ช
}
JSP์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฒ์(scope)๋ฅผ ์๋ฏธํ๋ฉฐ,
EL์์๋ ์๋์ ์ฐ์ ์์์ ๋ฐ๋ผ ๊ฐ ๋ฒ์์์ ๊ฐ์ ํ์ํ๋ค.
| Scope | ๋ฒ์ | ๊ด๋ จ ๊ฐ์ฒด |
|---|---|---|
pageScope | ํ์ฌ JSP ๋ด์์๋ง ์ ํจ | pageContext |
requestScope | ํ๋์ ์์ฒญ(request) ๋ด์์ ์ ํจ | request |
sessionScope | ํ๋์ ์ธ์ (๋ธ๋ผ์ฐ์ ) ๋์ ์ ํจ | session |
applicationScope | ์ ์ฒด ์น ์ ํ๋ฆฌ์ผ์ด์ ์์ ๊ณต์ | application |
โ ์: ${DUP}์ฒ๋ผ ์ค๋ณต๋ ์ด๋ฆ์ด ์๋ ๊ฒฝ์ฐ,
EL์
page โ request โ session โ application์์๋ก ๋จผ์ ๋ฐ๊ฒฌ๋ ๊ฐ์ ๋ฐํํ๋ค.
<form action="./result.jsp">
<input type="text" name="username" />
<input type="text" name="password" />
<input type="submit" value="์ ์ก" />
</form>
pageContext.setAttribute("P_ATTR", "P_ATTR_VALUE");
request.setAttribute("R_ATTR", "R_ATTR_VALUE");
session.setAttribute("S_ATTR", "S_ATTR_VALUE");
application.setAttribute("A_ATTR", "A_ATTR_VALUE");
application.setAttribute("DUP", "APPLICATION VALUE"); // ์ค๋ณต ํ์ธ์ฉ
USERNAME : ${param.username}<br/>
PASSWORD : ${param.password}<br/>
param์ ํญ์ requestScope์์ ๋ฐ์์จ ๊ฐ์ ์ฐธ์กฐํ๋ค.
PAGECONTEXT's ATTR : ${P_ATTR} / ${pageScope.P_ATTR}
REQUEST's ATTR : ${R_ATTR} / ${requestScope.R_ATTR}
SESSION's ATTR : ${S_ATTR} / ${sessionScope.S_ATTR}
APPLICATION's ATTR : ${A_ATTR} / ${applicationScope.A_ATTR}
DUPLICATED VALUE : ${DUP}
Scope์ ๊ฐ์ ์ด๋ฆ์ผ๋ก ์ ์ฅ๋ ์์ฑ ์ค ๊ฐ์ฅ ์ฐ์ ์์๊ฐ ๋์ ์์ญ์ ๊ฐ์ด ์ถ๋ ฅ๋จ
<%
UserDto userDto = new UserDto("user1", "1234", "ROLE_USER");
request.setAttribute("userDto", userDto);
%>
ํํ์ : <%=userDto.getUserid() %><br/>
EL : ${userDto.userid}<br/>
${1+1} // ๊ฒฐ๊ณผ: 2
${1+"1"} // ๊ฒฐ๊ณผ: "11"
${null} // null ์ถ๋ ฅ
${empty null} // true
${empty ""} // true
${empty "a"} // false
${empty TEST} // true (ํด๋น ์์ฑ ์์ ๋)
${!empty TEST} // false
์: ${empty param.username} โ ์ ๋ ฅ๊ฐ์ด ๋น์ด ์์ ๊ฒฝ์ฐ true
${empty sessionScope.user}โ ๋ก๊ทธ์ธ ์ฌ๋ถ ํ์ธ์ ํ์ฉ ๊ฐ๋ฅ
EL(Expression Language)์ ํตํด JSP์์ ๋ฐ์ดํฐ๋ฅผ ๋ ๊ฐ๊ฒฐํ๊ณ ์ฝ๊ธฐ ์ฝ๊ฒ ์ถ๋ ฅํ ์ ์๋ค๋ ๊ฒ์ ์ค์ต์ ํตํด ์ฒด๊ฐํ ์ ์์๋ค.
Scope์ ๊ฐ๋
๊ณผ ์ฐ์ ์์, param๊ณผ attribute, ๊ฐ์ฒด ์ ๊ทผ, ์กฐ๊ฑด ์ฐ์ฐ๊น์ง ๋ค์ํ ๊ธฐ๋ฅ์ ์ง์ ํ
์คํธํ๋ฉด์
์คํฌ๋ฆฝํ๋ฆฟ ์์ด๋ ํํ๋ ฅ์ ํ๋ณดํ ์ ์๋ค๋ ๊ฒ์ด ํฐ ์ฅ์ ์ด๋ผ๊ณ ๋๊ผ๋ค.
${} ๋ฌธ๋ฒ์ผ๋ก JSP ๋ฐ์ดํฐ๋ฅผ ์ถ๋ ฅํ๋ ํํ ์ธ์ดpage โ request โ session โ application ์์๋ก scope ๊ฐ์ ํ์${param.ํ๋ผ๋ฏธํฐ๋ช
}์ request์ ํผ ์
๋ ฅ ๊ฐ์ ์๋ฏธ${user.userid})empty, ์ฐ์ฐ์ ๋ฑ ์กฐ๊ฑด ์ฒดํฌ์ ์ฐ์ฐ๋ ๊ฐ๋ฅ