IT/development

[jstl] selectbox ์กฐ๊ฑด๊ณผ ์ผ์น˜ํ•˜๋ฉด ์„ ํƒ๊ฐ’ ์œ ์ง€(feat. ์ƒ์„ธํ™”๋ฉด)

์•Œ ์ˆ˜ ์—†๋Š” ์‚ฌ์šฉ์ž 2023. 12. 22.

๊ฐ„๋งŒ์— ์ถ”์–ต์˜(?) jsp๋กœ ํ™”๋ฉด๋‹จ์„ ๊ฐœ๋ฐœํ•˜๊ฒŒ ๋˜์—ˆ๊ณ  ๊ทธ ์ค‘ jstl์—์„œ ๋งŽ์ด ์“ฐ๋Š” ๊ธฐ๋Šฅ์ธ๋ฐ ์ž˜ ์ƒ๊ฐ์ด ๋‚˜์งˆ ์•Š์•„ ์˜ˆ์ „ ๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ๋ฅผ ๋’ค์ ธ์„œ ์ฐพ์•˜๊ณ  ๋‹ค์Œ์„ ์œ„ํ•ด ๋ฉ”๋ชจ๋ฅผ ํ•œ๋‹ค.

์ƒ์„ธํ™”๋ฉด์—์„œ ๊ณตํ†ต์ฝ”๋“œ์˜ ๊ฐ’์„ ๋ถˆ๋Ÿฌ์™€์„œ selectbox์— ๋ฟŒ๋ฆฌ๋Š”๋ฐ ํšŒ์› ๊ฐ€์ž…์ƒํƒœ ์ฝ”๋“œ์™€ ๊ณตํ†ต์ฝ”๋“œ์˜ ์ฝ”๋“œ๊ฐ€ ์ผ์น˜ํ•˜๋ฉด selectedํ•˜๋Š” ๊ฒฝํ—˜์ž๋“ค์—๊ฒ ์•„์ฃผ ์ต์ˆ™ํ•œ ๊ธฐ๋Šฅ์ด๋‹ค.

ex) ํšŒ์›ํ…Œ์ด๋ธ”์— ๊ฐ€์ž…์ƒํƒœ์ฝ”๋“œ๊ฐ€ ์žˆ๊ณ  ์ด๋Š” ๊ณตํ†ต์ฝ”๋“œ ํ…Œ์ด๋ธ”์˜ ์ฝ”๋“œ์™€ ๋งคํ•‘์ด ๋˜๋Š” ์ƒํ™ฉ์ด๋‹ค.

์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด ์ดํ•ด๊ฐ€ ๋ ๊ฑฐ๋‹ค.

Controller

//Controller๋‚ด์˜ ๋ชจ๋“  view์—์„œ ์ „๋ถ€ ์“ธ ์ˆ˜ ์žˆ๋„๋ก ์•„๋ž˜์ฒ˜๋Ÿผ @ModelAttribute๋กœ ์„ ์–ธ์„ ํ–ˆ๋‹ค.
/** ๊ฐ€์ž…์ƒํƒœ ๋ชฉ๋ก*/
@ModelAttribute("mberSttusList")
private List<?> getMberSttusResult(ComDefaultCodeVO vo) throws Exception {
    vo.setCodeId("COM013");
    return cmmUseService.selectCmmCodeDetail(vo);
}

๊ณตํ†ต์ฝ”๋“œ๊ฐ’

jsp

์—ญ์‹œ ๊ธฐ๋ก์ด ์ค‘์š”ํ•˜๋‹ค. ๋กœ์ง์€ ์ƒ๊ฐ์ด ๋‚ฌ์—ˆ๋Š”๋ฐ ๋ฌธ๋ฒ•์ด ๋„ํ†ต ์ƒ๊ฐ์ด ๋‚˜์งˆ ์•Š์•˜์—ˆ๋‹ค.

์ƒ์„ธ ์„ค๋ช…

mberSttusList๋ฅผ ๋ฃจํ”„ ๋Œ๋ฉด์„œ value์—๋Š” code๊ฐ’์„ ๋„ฃ๊ณ  ๊ทธ ๋‹ค์Œ์ด ์ค‘์š”ํ•˜๋‹ค.

mberSttusList์˜ code์™€ memberVO์˜ mberSttus๊ฐ€ ๊ฐ™์œผ๋ฉด selectedํ•˜๋ผ๋Š” ์˜๋ฏธ๋‹ค.

c:if์ ˆ์—์„œ ์ด๋ฏธ ${๋ฅผ ์ผ์œผ๋‹ˆ ๊ทธ ์•ˆ์—์„œ ${} ์ด๋ ‡๊ฒŒ ๋˜ ํ•  ํ•„์š”๊ฐ€ ์—†๊ณ  ์ด๋ ‡๊ฒŒ ์“ฐ๋ฉด ์—๋Ÿฌ ๋‚œ๋‹ค.}

<select name="mberSttus" id="mberSttus" class="input-default">
    <c:forEach var="list" items="${mberSttusList}">
        <option value="${list.code}" <c:if test="${list.code eq memberVO.mberSttus}"> selected="selected"</c:if>>
            ${list.codeNm}
        </option>
    </c:forEach>
</select>

๋Œ“๊ธ€