๐Ÿ–ฅ๏ธ Frontend_

[Frontend] JSP์—์„œ ๋ฐ์ดํ„ฐ ๋ถˆ์ผ์น˜ ์ฒ˜๋ฆฌ: c:if์™€ c:choose์˜ ์ฐจ์ด์ ๊ณผ ์ ์ ˆํ•œ ์‚ฌ์šฉ๋ฒ• ๐Ÿš€

CodeLoge 2025. 4. 6. 00:39

โ˜‘๏ธ DB ์ž‘์—…์„ ํ•˜๋ฉด์„œ ์ž์ฃผ ๋งˆ์ฃผ์น˜๋Š” ๋ฌธ์ œ ์ค‘ ํ•˜๋‚˜

• ์กฐ์ธ์„ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ ํŠน์ • ์กฐ๊ฑด์— ๋”ฐ๋ผ ๊ฒฐ๊ณผ๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ, ๋ฐ์ดํ„ฐ๊ฐ€ ๋นˆ ๊ฐ’์œผ๋กœ ๋ฐ˜ํ™˜๋˜๋Š” ์ƒํ™ฉ

• View ์ธก๋ฉด์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ ์ ˆํžˆ ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š์œผ๋ฉด ์˜ค๋ฅ˜ ๋ฐœ์ƒ

• JSP์—์„œ ์ด๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ์—๋Š” c:if ํƒœ๊ทธ์™€ c:choose ํƒœ๊ทธ ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์ฃผ๋กœ ์‚ฌ์šฉ

 

1๏ธโƒฃ c:if ํƒœ๊ทธ

• c:if ํƒœ๊ทธ๋Š” ์กฐ๊ฑด์ด ์ฐธ์ธ ๊ฒฝ์šฐ์—๋งŒ ๋‚ด์šฉ์„ ํฌํ•จ์‹œํ‚ค๋Š” ๊ฐ„๋‹จํ•œ ์กฐ๊ฑด ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•

• ๋‹จ์ผ ์กฐ๊ฑด์— ์ดˆ์ ์„ ๋งž์ถ”๊ธฐ ๋•Œ๋ฌธ์— ๋ณต์žกํ•œ ์กฐ๊ฑด์ด๋‚˜ ์—ฌ๋Ÿฌ ์ƒํ™ฉ์„ ๋‹ค๋ฃจ๊ธฐ์—๋Š” ํ•œ๊ณ„

• ๋ชจ๋ธ์—์„œ ์กฐ์ธ์„ ์‚ฌ์šฉํ•ด ๊ฐ’์„ ๊ฐ€์ ธ์˜ฌ ๋•Œ ํ•ด๋‹น ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์œผ๋ฉด null์ด๋‚˜ ๋นˆ ๊ฐ’์ด ๋ฐ˜ํ™˜๋˜๋Š” ๊ฒฝ์šฐ

→ c:if ํƒœ๊ทธ๋กœ ์ด๋ฅผ ์ฒ˜๋ฆฌํ•˜๋ ค ํ•˜๋ฉด ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ์˜ค๋ฅ˜ ๋ฐœ์ƒ ๊ฐ€๋Šฅ

→ c:if๋Š” ์ฃผ๋กœ ์กด์žฌํ•˜๋Š” ๋ฐ์ดํ„ฐ์˜ ์กฐ๊ฑด์„ ๊ฒ€์‚ฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ

→ ๋ฐ์ดํ„ฐ ์ž์ฒด์˜ ์กด์žฌ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ๋กœ์ง์„ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š์œผ๋ฉด NullPointerException ๊ฐ™์€ ์˜ˆ์™ธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ฌ ์œ„ํ—˜์žˆ์Œ

 

2๏ธโƒฃ c:choose ํƒœ๊ทธ

• c:choose ํƒœ๊ทธ๋Š” ์—ฌ๋Ÿฌ ์กฐ๊ฑด์„ ํšจ๊ณผ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ํƒœ๊ทธ

• c:choose ๋‚ด๋ถ€์—๋Š” c:when๊ณผ c:otherwise๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์–‘ํ•œ ๊ฒฝ์šฐ๋ฅผ ์„ธ๋ถ„ํ™”ํ•˜์—ฌ ์ฒ˜๋ฆฌ

• ๋ฐ์ดํ„ฐ๊ฐ€ ์กด์žฌํ•  ๋•Œ์™€ ์กด์žฌํ•˜์ง€ ์•Š์„ ๋•Œ์˜ ๋™์ž‘์„ ๋ช…ํ™•ํžˆ ๊ตฌ๋ถ„

→ ์กฐ์ธ ๊ฒฐ๊ณผ๊ฐ€ ๋นˆ ๊ฐ’์ธ ๊ฒฝ์šฐ c:when์„ ํ†ตํ•ด ํ•ด๋‹น ์กฐ๊ฑด์„ ๊ฒ€์‚ฌ,๋ฐ์ดํ„ฐ๊ฐ€ ์—†์„ ๊ฒฝ์šฐ c:otherwise์—์„œ ๋Œ€์ฒด ํ…์ŠคํŠธ๋‚˜ ๋‹ค๋ฅธ ์ฒ˜๋ฆฌ

• ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์ „๋‹ฌ๋ฐ›์€ ๋ฐ์ดํ„ฐ์˜ ๋ฌด๊ฒฐ์„ฑ๊ณผ ์ƒํ™ฉ์— ๋”ฐ๋ฅธ ์œ ์—ฐํ•œ ๋Œ€์‘

→ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ๊ฐœ์„ ํ•˜๋Š” ๋ฐ ํฌ๊ฒŒ ๊ธฐ์—ฌ

• ์˜ˆ์™ธ ์ƒํ™ฉ์„ ๋ช…ํ™•ํžˆ ํ•ธ๋“ค๋ง ๊ฐ€๋Šฅ

→ ๊ฐœ๋ฐœ ์ค‘ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ๊ฐ์†Œ์‹œํ‚ด

 

3๏ธโƒฃ ์ ์šฉ ์˜ˆ

<c:choose>
    <c:when test="${not empty userInfo}">
        ์‚ฌ์šฉ์ž ์ด๋ฆ„: ${userInfo.name}
    </c:when>
    <c:otherwise>
        ์‚ฌ์šฉ์ž ์ •๋ณด๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
    </c:otherwise>
</c:choose>

 

 

• userInfo ๊ฐ์ฒด๊ฐ€ ๋น„์–ด ์žˆ์ง€ ์•Š์„ ๊ฒฝ์šฐ ์‚ฌ์šฉ์ž์˜ ์ด๋ฆ„์„ ํ‘œ์‹œ

• ๋ฐ˜๋Œ€์˜ ๊ฒฝ์šฐ "์‚ฌ์šฉ์ž ์ •๋ณด๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค."๋ผ๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ์ถœ๋ ฅ

→ c:choose๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ์˜ ์กด์žฌ ์—ฌ๋ถ€์— ๋”ฐ๋ฅธ ๋‹ค์–‘ํ•œ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ํ•œ ๊ณณ์—์„œ ์ฒ˜๋ฆฌ

 

โœ…์„œ๋ธ”๋ฆฟ๊ณผ JSP๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœ ์‹œ, ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋Š” ๋งค์šฐ ์ค‘์š”ํ•œ ๋ถ€๋ถ„

• ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์„ ๋•Œ์˜ ์ฒ˜๋ฆฌ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•˜๋А๋ƒ๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ฒฌ๊ณ ์„ฑ์„ ์ขŒ์šฐ

• c:if์™€ c:choose๋Š” ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์šฉํ•œ ๋„๊ตฌ

→ ํ•˜์ง€๋งŒ, ๊ฐ๊ฐ์˜ ์‚ฌ์šฉ๋ฒ•์„ ์ž˜ ์ดํ•ดํ•˜๊ณ  ์ƒํ™ฉ์— ๋งž๊ฒŒ ์ ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”