2 ๋ถ„ ์†Œ์š”

๐Ÿ“š WEB


๐Ÿ“š EL ( Expression Language )

EL ( Expression Language ) ์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

EL ๋ฌธ๋ฒ•


1. ์Šคํฌ๋ฆฝ ํŠธ๋ฆฟ
<%= ((com.model.MemberDto) request.getAttribute("userinfo")).getZipDto().getAddress()>
-> EL
${userinfo.zipDto.address}


2. Map ์‚ฌ์šฉ
${Map. Map์˜ ํ‚ค}

3. Java Bean ์‚ฌ์šฉ
${Java Bean, Bean ํ”„๋กœํผํ‹ฐ}

  • [] ์—ฐ์‚ฐ์ž
    • EL ์—๋Š” Dot ํ‘œ๊ธฐ๋ฒ• ์™ธ์— [] ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ์ฒด์˜ ๊ฐ’์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.
    • [] ์—ฐ์‚ฐ์ž ์•ˆ์˜ ๊ฐ’์ด ๋ฌธ์ž์—ด์ธ ๊ฒฝ์šฐ, ์ด๊ฒƒ์€ ๋งต์˜ ํ‚ค๊ฐ€ ๋  ์ˆ˜๋„ ์žˆ๊ณ , Bean ํ”„๋กœํผํ‹ฐ๋‚˜ ๋ฆฌ์ŠคํŠธ ๋ฐ ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค.
    • ๋ฐฐ์—ด๊ณผ ๋ฆฌ์ŠคํŠธ์ธ ๊ฒฝ์šฐ ๋ฌธ์ž๋กœ ๋œ ์ธ๋ฑ์Šค ๊ฐ’์€ ์ˆซ์ž๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ ์ฒ˜๋ฆฌํ•œ๋‹ค.

1. [] ์—ฐ์‚ฐ์ž๋ฅผ ์ด์šฉํ•œ ๊ฐ์ฒด ํ”„๋กœํผํ‹ฐ ์ ‘๊ทผ
${userinfo["name"]}

2. Dot ํ‘œ๊ธฐ๋ฒ•์„ ์ด์šฉํ•œ ๊ฐ์ฒด ํ”„๋กœํผํ‹ฐ ์ ‘๊ทผ
${userinfo.name}

3. ๋ฆฌ์ŠคํŠธ๋‚˜ ๋ฐฐ์—ด์— ์ ‘๊ทผ
- Servlet
String[] names = {"์ด์ˆœ์‹ ", "ํ™๊ธธ๋™"};
request.setAttribute("userNames", names);

- JSP
${userNames[0]}     -> ์ด์ˆœ์‹  ์ถœ๋ ฅ
${userNames["1"]}   -> ๋ฌธ์ž์—ด์ธ ์ธ๋ฑ์Šค ๊ฐ’์ด ์ˆซ์ž๋กœ ๋ฐ”๋€Œ์–ด userNames[1]์˜ ๊ฒฐ๊ณผ์ธ ํ™๊ธธ๋™ ์ถœ๋ ฅ

EL ๋‚ด์žฅ๊ฐ์ฒด

category identifier Type description
JSP pageContext Java Bean ํ˜„์žฌ ํŽ˜์ด์ง€์˜ ํ”„๋กœ์„ธ์‹ฑ๊ณผ ์ƒ์‘ํ•˜๋Š” PageContext instance
๋ฒ”์œ„
( scope )
pageScope Map page Scope์— ์ €์žฅ๋œ ๊ฐ์ฒด๋ฅผ ์ถ”์ถœ
requestScope Map request Scope์— ์ €์žฅ๋œ ๊ฐ์ฒด๋ฅผ ์ถ”์ถœ
sessionScope Map session Scope์— ์ €์žฅ๋œ ๊ฐ์ฒด๋ฅผ ์ถ”์ถœ
applicationScope Map application Scope์— ์ €์žฅ๋œ ๊ฐ์ฒด๋ฅผ ์ถ”์ถœ
์š”์ฒญ ๋งค๊ฐœ ๋ณ€์ˆ˜ param Map ServletRequest.getParameter(String)์„ ํ†ตํ•ด ์š”์ฒญ ์ •๋ณด๋ฅผ ์ถ”์ถœ
paramValues Map ServletRequest.getParameterValues(String)์„ ํ†ตํ•ด ์š”์ฒญ ์ •๋ณด๋ฅผ ์ถ”์ถœ
์š”์ฒญ ํ—ค๋” header Map HttpServletRequest.getHeader(String)์„ ํ†ตํ•ด ํ—ค๋” ์ •๋ณด๋ฅผ ์ถ”์ถœ
headerValues Map HttpServletRequest.getHeaders(String)์„ ํ†ตํ•ด ํ—ค๋” ์ •๋ณด๋ฅผ ์ถ”์ถœ
์ฟ ํ‚ค cookie Map HttpServletRequest.getCookies()๋ฅผ ํ†ตํ•ด ์ฟ ํ‚ค ์ •๋ณด๋ฅผ ์ถ”์ถœ
์ดˆ๊ธฐํ™” ๋งค๊ฐœ๋ณ€์ˆ˜ initParam Map ServletContext.getInitParameter(String)๋ฅผ ํ†ตํ•ด ์ดˆ๊ธฐํ™” ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ถ”์ถœ

EL ์‚ฌ์šฉ

${expr}

EL ์—์„œ ๊ฐ์ฒด ์ ‘๊ทผ

  • request.setAttribute(โ€œuserinfoโ€, โ€œํ™๊ธธ๋™โ€);
    1. ${requestScope.userinfo}
    2. ${pageContext.request.userinfo}, ${userinfo} -> property ์ด๋ฆ„๋งŒ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ์ž๋™์œผ๋กœ pageScope > requestScope > sessionScope > applicationScope ์ˆœ์œผ๋กœ ๊ฐ์ฒด๋ฅผ ์ฐพ๋Š”๋‹ค.
  • url>name=ํ™๊ธธ๋™&friut=์‚ฌ๊ณผ&fruit=๋ฐ”๋‚˜๋‚˜
    1. ${param.name}
    2. ${paramValues.fruit[0]}.${paramValues.fruit[1]}
  • ${cookie.id.value}
    1. Cookie๊ฐ€ null์ด๋ฉด null return
    2. null ์ด ์•„๋‹ˆ๋ผ๋ฉด id ๊ฒ€์‚ฌ ํ›„ null ์ด๋ผ๋ฉด null return
    3. null ์ด ์•„๋‹ˆ๋ผ๋ฉด value ๊ฐ’ ๊ฒ€์‚ฌ
      EL์€ ๊ฐ’์ด null ์ด๋ผ๋„ null์„ ์ถœ๋ ฅํ•˜์ง€ ์•Š๋Š”๋‹ค ( ๊ณต๋ฐฑ )

EL Operation ( ์—ฐ์‚ฐ์ž )

๋Œ€๋ถ€๋ถ„ ์ž๋ฐ”์™€ ๋™์ผ

description
์‚ฐ์ˆ  +, -, *, / ( div ), % ( mod )
๊ด€๊ณ„ํ˜• == ( eq ), != ( ne ), < ( lt ), > ( gt ), <= ( le ), >= ( ge )
3ํ•ญ ์—ฐ์‚ฐ ์กฐ๊ฑด ? ๊ฐ’1 : ๊ฐ’2
๋…ผ๋ฆฌ && ( and ), || ( or ), ! ( not )
ํƒ€๋‹น์„ฑ๊ฒ€์‚ฌ empty
  • empty ์—ฐ์‚ฐ์ž์—์„œ true๋ฅผ return ํ•˜๋Š” ๊ฒฝ์šฐย ยป ${empty var}
    1. ๊ฐ’์ด null์ด๋ฉด true
    2. ๊ฐ’์ด ๋นˆ ๋ฌธ์ž์—ด(โ€œโ€) ์ด๋ฉด true
    3. ๊ธธ์ด๊ฐ€ 0์ธ ๋ฐฐ์—ด([]) ์ด๋ฉด true
    4. ๋นˆ Map ๊ฐ์ฒด๋Š” true
    5. ๋นˆ Collection ๊ฐ์ฒด์ด๋ฉด true

EL ์—์„œ ๊ฐ์ฒด method ํ˜ธ์ถœ

<%
List<MemberDto> list = dao.getMembers();
request.setAttribute("users", list);
%>

- ํšŒ์› ์ˆ˜ : ${requestScope.users.size()}, ${users.size()}

${users.size}   ==  <%= request.getAttribute("users").getSize() %>

EL ๋งˆ๋ฌด๋ฆฌ

EL ์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•ด ๋ณด์•˜๋‹ค.
<%= %> ์•ˆ์— java ์ฝ”๋“œ๋กœ ์“ฐ๋˜ ๊ฒƒ์„ ${} ์•ˆ์—๋‹ค๊ฐ€ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค.
JSP ํ‘œํ˜„์‹์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ์–ธ์–ด๋กœ ์ ‘๊ทผ์— ์šฉ์ดํ•œ ๊ฒƒ ๊ฐ™๋‹ค.

ํƒœ๊ทธ: , ,

์นดํ…Œ๊ณ ๋ฆฌ:

์—…๋ฐ์ดํŠธ: