** ๐EL ๋ด์ฅ ๊ฐ์ฒด ์ด์ ๋ฆฌ (๊ธฐ์ด + ์ค๋ฌด + ๊ธฐ์ ๋ฉด์ ์ฉ) **
โ ๋ชฉ์ฐจ
- EL ๋ด์ฅ ๊ฐ์ฒด๋?
- ์ฃผ์ EL ๋ด์ฅ ๊ฐ์ฒด ์ด์ ๋ฆฌ
- ์ค๋ฌด ํ์ฉ ์์
- ์ค์ฝํ๋ณ ์ฐ์ ์์
- ๊ธฐ์ ๋ฉด์ ๋๋น ์์ฝ
- ์์ฝ ๋ฐ ๋ง๋ฌด๋ฆฌ
1๏ธโฃ EL ๋ด์ฅ ๊ฐ์ฒด๋?
๐ EL(Expression Language)์ JSP ๋ด๋ถ์์ ์๋์ผ๋ก ์ฌ์ฉํ ์ ์๋ โ๋ด์ฅ ๋ณ์ ๊ฐ์ฒด๋คโ ์ ์ ๊ณตํฉ๋๋ค.
๋ณ๋๋ก ์ ์ธํ ํ์ ์์ด
${}
์์์ ๋ฐ๋ก ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
๐ก ์ด ๋ด์ฅ ๊ฐ์ฒด๋ค์ JSP์ ์ฌ๋ฌ ์ค์ฝํ ๊ฐ์ฒด (request, session, etc.)๋ ์น ์ ๋ณด๋ฅผ ์ฐธ์กฐํ ๋ ์ฌ์ฉ๋ฉ๋๋ค.
2๏ธโฃ ์ฃผ์ EL ๋ด์ฅ ๊ฐ์ฒด ๋ชฉ๋ก ๋ฐ ์ค๋ช
๋ด์ฅ ๊ฐ์ฒด | ์ค๋ช | ์ฌ์ฉ ์ |
---|---|---|
param |
์์ฒญ ํ๋ผ๋ฏธํฐ ๊ฐ์ ๊ฐ์ ธ์ฌ ๋ ์ฌ์ฉ (๋จ์ผ๊ฐ) | ${param.name} |
paramValues |
์์ฒญ ํ๋ผ๋ฏธํฐ๋ฅผ ๋ฐฐ์ด๋ก ๊ฐ์ ธ์ฌ ๋ | ${paramValues.hobby[0]} |
header |
์์ฒญ ํค๋ ๊ฐ ๊ฐ์ ธ์ฌ ๋ | ${header["User-Agent"]} |
headerValues |
ํค๋์ ์ค๋ณต ๊ฐ์ด ์์ ๋ ๋ฐฐ์ด๋ก ์ ๊ทผ | ${headerValues.accept[1]} |
cookie |
์ฟ ํค ์ ๋ณด ์ ๊ทผ | ${cookie.userId.value} |
initParam |
์น ์ ํ๋ฆฌ์ผ์ด์ ์ด๊ธฐ ์ค์ ๊ฐ | ${initParam.adminEmail} |
pageScope |
page ๋ฒ์์ ๊ฐ์ฒด ์ ๊ทผ | ${pageScope.msg} |
requestScope |
request ๋ฒ์ ๊ฐ์ฒด ์ ๊ทผ | ${requestScope.user} |
sessionScope |
์ธ์ ๋ฒ์ ๊ฐ์ฒด ์ ๊ทผ | ${sessionScope.loginUser} |
applicationScope |
์ ํ๋ฆฌ์ผ์ด์ ๋ฒ์ ๊ฐ์ฒด ์ ๊ทผ | ${applicationScope.globalData} |
3๏ธโฃ ์ค๋ฌด ํ์ฉ ์์
๐ธ param (GET/POST ํ๋ผ๋ฏธํฐ)
<!-- ?name=Alice -->
<p>์ด๋ฆ: ${param.name}</p>
๐ธ cookie
<p>์ฟ ํค ์ฌ์ฉ์ ID: ${cookie.userId.value}</p>
๐ธ header
<p>์ ์ ๋ธ๋ผ์ฐ์ : ${header["User-Agent"]}</p>
๐ธ scope ์์
<%-- request.setAttribute("msg", "Hello"); --%>
<p>๋ฉ์์ง: ${requestScope.msg}</p>
4๏ธโฃ ์ค์ฝํ๋ณ ์ฐ์ ์์ (โ ๋งค์ฐ ์ค์)
๐ EL์ ๋์ผํ ์ด๋ฆ์ ๋ณ์๊ฐ ์ฌ๋ฌ ์ค์ฝํ์ ์กด์ฌํ ๊ฒฝ์ฐ ์๋ ์ฐ์ ์์๋ก ์ฐพ์ต๋๋ค:
pageScope
requestScope
sessionScope
applicationScope
๐ก ์ฆ, ${user}
๋ผ๊ณ ์ผ์ ๋ pageScope โ requestScope โ ...
์์ผ๋ก ์ฐพ๋ค๊ฐ ์ฒ์ ๋ฐ๊ฒฌ๋ ๊ฐ์ ์ถ๋ ฅํฉ๋๋ค.
5๏ธโฃ ๊ธฐ์ ๋ฉด์ ๋๋น ์์ฝ
์ง๋ฌธ | ๋ต๋ณ ์์ฝ |
---|---|
โ EL ๋ด์ฅ ๊ฐ์ฒด๋ ๋ฌด์์ธ๊ฐ์? | JSP์์ ๋ณ๋ ์ ์ธ ์์ด ์ฌ์ฉํ ์ ์๋ ๊ฐ์ฒด๋ก, ์์ฒญ๊ฐ, ์ฟ ํค, ์ธ์ , ํค๋ ๋ฑ์ EL๋ก ์ฝ๊ฒ ์ ๊ทผํ ์ ์๊ฒ ํด์ฃผ๋ ๋๊ตฌ์ ๋๋ค. |
โ param ๊ณผ paramValues ์ ์ฐจ์ด๋? |
param ์ ๋จ์ผ๊ฐ, paramValues ๋ ๊ฐ์ ์ด๋ฆ์ ์ฌ๋ฌ ํ๋ผ๋ฏธํฐ ๋ฐฐ์ด์
๋๋ค. |
โ cookie.userId ์ฒ๋ผ .value ๋ฅผ ๋ถ์ด๋ ์ด์ ๋? |
cookie ๊ฐ์ฒด๋ Cookie ํด๋์ค ๊ฐ์ฒด์ด๋ฏ๋ก value ํ๋๋ฅผ ๋ช
์ํด์ผ ์ค์ ๊ฐ์ ์ ๊ทผํ ์ ์์ต๋๋ค. |
โ ์ค์ฝํ ์ฐ์ ์์๋ฅผ ์ค๋ช ํด์ฃผ์ธ์. | page โ request โ session โ application ์์๋ก ์ฐพ์ผ๋ฉฐ, ๊ฐ์ฅ ๊ฐ๊น์ด ์ค์ฝํ์ ๋ณ์๊ฐ ์ฐ์ ๋ฉ๋๋ค. |
โ sessionScope ์์ด ${user} ๋ง ์ด๋ค๋ฉด? |
์ค์ฝํ ์ฐ์ ์์์ ๋ฐ๋ผ pageScope๋ถํฐ ๊ฒ์ํ๋ฏ๋ก, ํด๋น ์ด๋ฆ์ด sessionScope์๋ง ์์ผ๋ฉด ๊ทธ ๊ฐ์ ๋ฐํํจ. |
6๏ธโฃ ์์ฝ ์ ๋ฆฌ
EL ๋ด์ฅ ๊ฐ์ฒด๋ JSP์์ ๊ฐ์ ๊ฐ๋จํ๊ฒ ํํํ๊ธฐ ์ํ ๊ธฐ๋ณธ ๋๊ตฌ์ ๋๋ค.
์์ฒญ ํ๋ผ๋ฏธํฐ, ์ฟ ํค, ์ธ์ , ํค๋, ์ค์ฝํ ๊ฐ์ฒด ๋ฑ์ EL๋ก ์ฝ๊ฒ ๊บผ๋ด ์ธ ์ ์์ต๋๋ค.
๐ธ param
, cookie
, header
๋ ์น ์์ฒญ ๊ด๋ จ ๊ฐ์ฒด
๐ธ pageScope
, requestScope
, sessionScope
, applicationScope
๋ ๋ฒ์๋ณ ๋ณ์ ์ ๊ทผ
โ ์ถ๊ฐ ํ: EL ๋ด์ฅ ๊ฐ์ฒด ์ฌ์ฉ์ ์ฃผ์์ฌํญ
- ๐ก
cookie.name.value
์ฒ๋ผ ๋ฐ๋์.value
๋ฅผ ๋ช ์ํด์ผ ๊ฐ ์ ๊ทผ ๊ฐ๋ฅ - โ ๏ธ EL๋ก๋ ๋ณต์กํ ๋ฉ์๋ ํธ์ถ์ด ๋ถ๊ฐ โ View ํํ๋ง ๋ด๋นํด์ผ ํจ
- ๐ซ ์๋ฐ ๋ก์ง์ EL์ ๋ฃ์ผ๋ ค๋ ์๋๋ MVC ์๋ฐ