๋ชฉ๋ก๐Ÿ“šํ”„๋กœ์ ํŠธ/๐Ÿ’ณ์‡ผํ•‘๋ชฐ ํ”„๋กœ์ ํŠธ (3)

Coding Planet

[JSP, JSTL] forEach๋ฌธ์œผ๋กœ ๋งŒ๋“  ํ…Œ์ด๋ธ” ๋ณ‘ํ•ฉํ•˜๊ธฐ (varStatus="status"์†์„ฑ)

์‡ผํ•‘๋ชฐ ํ”„๋กœ์ ํŠธ์—์„œ ์žฅ๋ฐ”๊ตฌ๋‹ˆ๋ฅผ ๋งŒ๋“ค ๋•Œ JSP๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค. ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ cartList๋ฅผ๊ฐ€์ ธ์™€์„œ ํ…Œ์ด๋ธ”๋กœ ๊ตฌํ˜„ํ•˜๊ณ  ์žˆ๋‹ค. ์ด ๋•Œ, ๋ฐฐ์†ก๋น„๋Š” ์ฃผ๋ฌธ 1๋ฒˆ๋‹น ๋ถ€๊ณผ๋˜๋ฏ€๋กœ ๋ฐฐ์†ก๋น„ ์˜์—ญ์ด ๋ณ‘ํ•ฉ(merge)๋˜๋„๋ก ํ•˜๋ คํ•œ๋‹ค. 1. ํ…Œ์ด๋ธ” ์ฝ”๋“œ ์ƒํ’ˆ์ •๋ณด ์ˆ˜๋Ÿ‰ ์ฃผ๋ฌธ๊ธˆ์•ก ๋ฐฐ์†ก๋น„ ${cart.productName} Option : ${cart.cartOption} ${cart.productPrice}์› - + ${cart.productPrice}์› 3,000์› ์žฅ๋ฐ”๊ตฌ๋‹ˆ์— ์ƒํ’ˆ์ด ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. JSTL ๋ฌธ์„ ํ†ตํ•ด ํƒœ๊ทธ๊ฐ€ ๋ฐ˜๋ณต๋˜๋ฉฐ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฐ›์•„์˜จ ์ •๋ณด๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค. ์ด ๋•Œ ์€ ์„œ๋ฒ„์— ์ €์žฅ๋œ ์ •๋ณด๋กœ ๊ทธ ์ˆ˜๊ฐ€ ๋™์ ์œผ๋กœ ์ •ํ•ด์ง€๋ฏ€๋กœ rowspan์„ ์‚ฌ์šฉํ•ด์„œ ์ปฌ๋Ÿผ์„ ๋ณ‘ํ•ฉํ•  ๋•Œ varStatus="status"๊ฐ€ ํ•„์š”ํ•˜๋‹ค. row..

์ตœ๊ทผ ๋ณธ ์ƒํ’ˆ ๊ตฌํ˜„ํ•˜๊ธฐ : url์—์„œ product_id๊ฐ€์ ธ์™€์„œ ์ฟ ํ‚ค์— ์ €์žฅํ•˜๊ธฐ

์ตœ๊ทผ ์ƒํ’ˆ์„ ์ €์žฅํ•˜๋Š”๋ฐ๋Š” ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค. ์„œ๋ฒ„์— ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ํด๋ผ์ด์–ธํŠธ, ์ฆ‰ ํฌ๋กฌ ๋“ฑ ์‚ฌ์šฉ์ž ํ™˜๊ฒฝ์— ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ์„œ๋ฒ„์— ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‘ ๊ฐ€์ง€ ์˜๋ฏธ์—์„œ ๊ทธ ํ•œ๊ณ„๊ฐ€ ๋ช…ํ™•ํ•˜๋‹ค. ์ฒซ์งธ, ์‚ฌ์šฉ์ž๊ฐ€ ํŽ˜์ด์ง€๋ฅผ ํด๋ฆญํ•˜๋Š” ๊ฒƒ์„ ๋ถ„์„ํ•  ๋งŒํ•œ ๋งˆ์ผ€ํŒ…์  ๊ฐ€์น˜๊ฐ€ ๋–จ์–ด์ง„๋‹ค. ๋ฌผ๋ก  ๋„“๊ฒŒ ๋ณด๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ํฅ๋ฏธ ์žˆ๋Š” ์ƒํ’ˆ์„ ํด๋ฆญํ•œ๋‹ค๋Š” ์ ์—์„œ ์˜๋ฏธ๊ฐ€ ์žˆ๊ฒ ์ง€๋งŒ '๊ด€์‹ฌ ์ƒํ’ˆ ๋ชฉ๋ก'์ด๋ผ๋Š” ๋” ๋ช…ํ™•ํ•œ ๋งˆ์ผ€ํŒ…์  ๊ฐ€์น˜๊ฐ€ ์žˆ๋Š” ๊ธฐ๋Šฅ๋ณด๋‹ค๋Š” ๊ทธ ํšจ์šฉ์ด ๋–จ์–ด์ง„๋‹ค. ๋‘˜์งธ, ์‡ผํ•‘๋ชฐ์˜ ๋ชจ๋“  ํšŒ์›์ด ๋“ค์–ด๊ฐ„ ๋ชจ๋“  ํŽ˜์ด์ง€์˜ ์ƒํ’ˆ์„ ์„œ๋ฒ„์— ์ €์žฅํ•˜๊ธฐ์—๋Š” ๊ทธ ์šฉ๋Ÿ‰์ด ๋„ˆ๋ฌด ์ปค์„œ ์„œ๋ฒ„๋น„์šฉ์ด ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ๋Š˜์–ด๋‚œ๋‹ค. ์ข…ํ•ฉ์ ์œผ๋กœ ๋งํ•˜์ž๋ฉด ๋งˆ์ผ€ํŒ…์  ํšจ์šฉ์ด ํ˜„์ €ํžˆ ์ ์€ '์ตœ๊ทผ ์ƒํ’ˆ ์ €์žฅํ•˜๊ธฐ'๋ฅผ ๊ทธ ๋งŽ์€ ์„œ๋ฒ„๋น„์šฉ์„ ๋“ค์—ฌ๊ฐ€๋ฉด์„œ ์„œ๋ฒ„์— ์ €์žฅํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค๋Š” ๊ฒƒ..

์‡ผํ•‘๋ชฐ ์ƒํ’ˆ ์นดํ…Œ๊ณ ๋ฆฌ ๊ตฌํ˜„ํ•˜๊ธฐ - ์ฟผ๋ฆฌ ์ŠคํŠธ๋ง

์‡ผํ•‘๋ชฐ์€ ๋™์ผํ•œ ํ…œํ”Œ๋ฆฟ์„ ๋ฐ˜๋ณต์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. ํŠนํžˆ ์ƒํ’ˆ์„ ์ƒํ’ˆ์˜ ์ƒ‰, ๊ฐ€๊ฒฉ, ์นดํ…Œ๊ณ ๋ฆฌ ๋“ฑ๋“ฑ ์—ฌ๋Ÿฌ ์กฐ๊ฑด์— ์˜ํ•ด ํ•„ํ„ฐ๋งํ•  ๋•Œ๋Š” ์ถœ๋ ฅ๋˜๋Š” ์ƒํ’ˆ์€ ๋‹ค๋ฅด๋”๋ผ๋„ ๊ทธ ํ˜•์‹์€ ๋Œ€๋ถ€๋ถ„ ๋™์ผํ•˜๋‹ค. ์ƒํ’ˆ์˜ ์ƒ์„ธํŽ˜์ด์ง€๋„ ์„ธ๋ถ€ ์ •๋ณด๋งŒ ๋‹ค๋ฅผ ๋ฟ ๊ทธ ํ˜•์‹์€ ๋™์ผํ•˜๋‹ค. ๋”ฐ๋ผ์„œ, ํ˜•์‹์„ ์œ ์ง€ํ•˜๋ฉด์„œ ์„ธ๋ถ€๋‚ด์šฉ์„ ๋‹ค๋ฅด๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํŠน์ • ์ •๋ณด๊ฐ€ ํ•„์š”ํ•œ๋ฐ ์ด๋Ÿฌํ•œ ์ •๋ณด๋ฅผ url์„ ํ†ตํ•ด ๋„˜๊ฒจ์ฃผ๋Š” ๊ฒƒ์ด ์ฟผ๋ฆฌ ์ŠคํŠธ๋ง์ด๋‹ค. 1. ์ฟผ๋ฆฌ์ŠคํŠธ๋ง์ด๋ž€? ์ฟผ๋ฆฌ ์ŠคํŠธ๋ง(Query String)์€ URL์˜ ์ผ๋ถ€๋กœ์จ ์›น ํŽ˜์ด์ง€๋กœ ์ „๋‹ฌ๋˜๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฌธ์ž์—ด์ด๋‹ค. ์ฟผ๋ฆฌ ์ŠคํŠธ๋ง์€ `?` ๋ฌธ์ž๋กœ URL์˜ ๊ฒฝ๋กœ์™€ ๊ตฌ๋ถ„๋˜๋ฉฐ, `key=value` ํ˜•์‹์œผ๋กœ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ํ‘œํ˜„ํ•œ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” `&` ๋ฌธ์ž๋กœ ๊ตฌ๋ถ„๋œ๋‹ค. ์œ„์˜ URL์—์„œ `?` ์ดํ›„์˜..