Trouble-Shooting

JSP el์—์„œ ๋ฐ์ดํ„ฐ ์ถœ๋ ฅ ์˜ค๋ฅ˜: getter ๋ฉ”์„œ๋“œ๋ช…๊ณผ ํ•„๋“œ๋ช…์˜ ๋ถˆ์ผ์น˜ ๋ฌธ์ œ ํ•ด๊ฒฐ

์ฑ”๐Ÿป 2024. 1. 24. 19:55

์ž‘์„ฑ์ผ์ž: 2023๋…„ 7์›” 19์ผ

โœ”๊ฒฐ๋ก 


JSP์—์„œ el์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์˜จ๋‹ค๋ฉด ํ•ด๋‹น DTO์— getter๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธํ•ด๋ณด์ž

๐Ÿ‘€๋ฌธ์ œ ์ •์˜

el๋กœ ํŒ๋งค๊ฐ€๋ฅผ ์ถœ๋ ฅํ•ด์ค˜์•ผ ํ•˜๋Š”๋ฐ salePrc๋งŒ ์ฐ์œผ๋ฉด ํ™”๋ฉด์ด ์•„๋ฌด๊ฒƒ๋„ ์•ˆ ๋‚˜์˜ค๋Š” ํ˜„์ƒ์ด ๋ฐœ์ƒ..

<div class="flex al-center">
    <fmt:formatNumber value="${productDetail.salePrc}" pattern="#,###"/><span class="won">์›</span>
</div>

โ“์›์ธ ์ถ”๋ก  & ํ•ด๊ฒฐ์ฑ… ์‹œ๋„

  1. Controller์—์„œ Model์— ๋‹ด์•˜๋˜ productDetail์„ ์ฐ์–ด๋ณด๋ฉด slaePrc ์ž˜ ๋‹ด๊ฒจ์žˆ์Œ ๐Ÿ˜ข

    โ†’ ๋ฐ์ดํ„ฐ๊ฐ€ ์•ˆ ๋‹ด๊ธด ๋ฌธ์ œ๋Š” ์•„๋‹˜..

    ๋‹ค๋ฅธ ๊ฐ’๋“ค์€ ์ž˜ ์ถœ๋ ฅ๋˜๋Š”๋ฐ slaePrc๋งŒ ์ฐ์œผ๋ฉด ๋นˆํ™”๋ฉด์ด ๋‚˜์˜จ๋‹ค.


โœ”์›์ธ

el์—์„œ ${productDetail.salePrc} ์ด๋ ‡๊ฒŒ ์ž‘์„ฑํ–ˆ์„ ๊ฒฝ์šฐ productDetail.salePrc์˜ getter๋ฅผ ํ˜ธ์ถœํ•ด์„œ ๊ฐ’์„ ๊ฐ€์ ธ์˜จ๋‹ค๋Š” ๊ฒŒ ์ƒ๊ฐ๋‚˜์„œ ProductDTO๋ฅผ ํ™•์ธํ•ด๋ณด์•˜๋”๋‹ˆ ์•„๋‹ˆ๋‚˜ ๋‹ค๋ฅผ๊นŒ

getter๊ฐ€ getSalePrc๊ฐ€ ์•„๋‹Œ getPrice๋กœ ๋˜์–ด์žˆ์—ˆ๋‹ค..!

๐Ÿ’กํ•ด๊ฒฐ๋ฐฉ๋ฒ•

getPrice โ†’ getSalePrc๋กœ ๋ณ€๊ฒฝํ•ด์ฃผ๋‹ˆ ๋ฌธ์ œ ์—†์ด ์ž˜ ์ถœ๋ ฅ๋œ๋‹ค.!

๐Ÿ’จ๋‚˜๊ฐ€๋ฉฐ

๊ธฐ์กด์˜ ERD ๊ตฌ์กฐ์—์„œ๋Š” ์ƒํ’ˆ ํ…Œ์ด๋ธ”์— ๊ฐ€๊ฒฉ ์ •๋ณด๊ฐ€ ํ•จ๊ป˜ ์žˆ์—ˆ์ง€๋งŒ, ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๊ฐ€๊ฒฉ ์ •๋ณด๋ฅผ ์ƒํ’ˆ ํ…Œ์ด๋ธ”์—์„œ ๋ถ„๋ฆฌํ•˜์—ฌ ๋”ฐ๋กœ ๊ฐ€๊ฒฉ ํ…Œ์ด๋ธ”์—์„œ ๊ด€๋ฆฌํ•˜๊ธฐ๋กœ ๋ณ€๊ฒฝํ•˜์˜€๋‹ค. ๊ทธ๋Ÿฌ๋ฉด์„œ ํŒ๋งค๊ฐ€ ์ปฌ๋Ÿผ๋ฉฐ์ด ๋ณ€๊ฒฝ๋˜์—ˆ๋Š”๋ฐ, (price โ†’ sale_prc) ์—ฌ๊ธฐ์„œ ํ•„๋“œ๋ช…๋งŒ ๋ฐ”๋€Œ๊ณ  getter, setter ๋ฉ”์„œ๋“œ๋ช…์ด ๋ฐ”๋€Œ์ง€ ์•Š์•„์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒƒ์ด์—ˆ๋‹ค.. ์•ž์œผ๋กœ ์ˆ˜๊ธฐ๋กœ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ  ์ธํ…”๋ฆฌ์ œ์ด์˜ ๋ฆฌํŒฉํ† ๋ง ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ DTO์— ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ์ƒ๊ฒผ์„ ๊ฒฝ์šฐ์—๋Š” getter, setter, toString, equals, hashCode๋ฅผ ์‹น ์ง€์šฐ๊ณ  ์ƒˆ๋กœ ์ƒ์„ฑํ•˜๋Š” ๊ฒŒ ์•ˆ์ „ํ•  ๊ฒƒ ๊ฐ™๋‹ค.


Uploaded by N2T