๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๊ฐœ์ธ ๊ณต๋ถ€/WEB

@ModelAttribute

by syLim___ 2024. 3. 1.
728x90

 

@RequestParam์€ http์š”์ฒญ์œผ๋กœ๋ถ€ํ„ฐ ์‹ฌํ”Œ ํƒ€์ž…์˜ ๊ฐ์ฒด๋ฅผ ํ•˜๋‚˜์”ฉ ๊ฐ€์ ธ์™”์—ˆ๋‹ค๋ฉด,

@ModelAttribute๋กœ๋Š” http ์š”์ฒญ ํผ๋ฐ์ดํ„ฐ๋กœ๋ถ€ํ„ฐ ๋ณตํ•ฉ ๊ฐ์ฒด ๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

 

๐Ÿฅ ์˜ˆ์‹œ

@RequestParam - ๋‹จ์ผ ํƒ€์ž…

 

 

@ModelAttribute - ๋ณตํ•ฉ ํƒ€์ž…

 

ModelAttribute๋Š” ์„ธ์…˜์— ์ €์žฅ๋œ ๋ฐธ๋ฅ˜ ์ •๋ณด๊นŒ์ง€ ์กฐํ•ฉํ•˜์—ฌ ๋ณตํ•ฉ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

 

โœ… BindingResult

@ModelAttribute ๋ณ€์ˆ˜ ์˜ค๋ฅธ์ชฝ์— ํ•จ๊ป˜ ์จ์ฃผ๋ฉด,

binding ์˜ค๋ฅ˜ ๋ฐœ์ƒ์‹œ ๋ฐ”๋กœ ์ต์…‰์…˜ ๋˜์ง€๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ,

์—๋Ÿฌ ์ •๋ณด๋ฅผ BindingResult ์•ˆ์— ๋‹ด์•„์ค€๋‹ค.

 

 

๐Ÿฅ ์ž…๋ ฅํผ์—์„œ id๋ฅผ String์œผ๋กœ ์ค€๊ฒฝ์šฐ

 

์‘๋‹ต์ฝ”๋“œ๋Š” 200์ด ์˜ด

 

๊ทธ๋Ÿฌ๋‚˜ ์„œ๋ฒ„์—์„œ๋Š” id๊ฐ€ String์ด ์•„๋‹ˆ๋ผ Long์œผ๋กœ ์„ ์–ธ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์—

user.id=null ๋กœ ์ฐํžˆ๊ณ ,

์—ฌ๊ธฐ์„œ ๋ฐœ์ƒํ•œ ์—๋Ÿฌ๋Š” bindingResult๊ฐ€ ์žก์•„์„œ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ฒŒ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋Ÿฐํƒ€์ž„ ์ต์…‰์…˜์€ ํ„ฐ์ง€์ง€ ์•Š์Œ

 

 

<< ๋ชจ๋ธ @ModelAttribute >>

 

โœ… ๋งŒ์•ฝ

 

์ปจใ„ดํŠธ๋กค๋Ÿฌ ๋‚ด๋ถ€ ๋ชจ๋“  ํ•ธ๋“ค๋Ÿฌ ๋ฉ”์„œ๋“œ ์•ˆ์—์„œ ๊ณตํ†ต์ ์œผ๋กœ ์ฐธ๊ณ ํ•ด์•ผํ•˜๋Š” ๋ชจ๋ธ ์ •๋ณด๊ฐ€ ์žˆ๋‹ค?

๊ทธ๋•Œ ๋ชจ๋“  ํ•ธ๋“ค๋Ÿฌ๋งˆ๋‹ค ์•„๊ทœ๋จผํŠธ๋กœ Model ๋ฐ›์•„ ์“ฐ๊ธฐ ๋ฒˆ๊ฑฐ๋กœ์šฐ๋‹ˆ

์ปจํŠธ๋กค๋Ÿฌ์— @ModelAttribute ๋ถ™์ธ ๋ฉ”์„œ๋“œ๋ฅผ ์ •์˜ํ•ด์„œ ๊ฐ™์ด ์“ธ ์ˆ˜ ์žˆ๋‹ค.

๋‘˜์ค‘์— ํ•œ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

 

 

 --> ์ฝ”๋“œ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

๋˜ ๋‹ค๋ฅธ ์˜ˆ์‹œ

 

 

 

โœ… ํ•ธ๋“ค๋Ÿฌ ๋ฉ”์„œ๋“œ์— @ModelAttribute ๋ถ™์ด๋ฉด ๋ฆฌํ„ด๊ฐ์ฒด๋ฅผ ๋ชจ๋ธ์— ๋„ฃ์–ด์ค€๋‹ค.

 

(@ModelAttribute๋Š” ์‚ฌ์‹ค ์ƒ๋žตํ•ด๋„ ๋œ๋‹ค)

๋ทฐ๋„ค์ž„์€ RequestToViewNameTranslator๊ฐ€ ์•Œ์•„์„œ ์ฐพ์•„๊ฐ„๋‹ค.

 

 

 

 

 

 

728x90