1. ±¸Çö ÀýÂ÷
1) SimpleFormController »ó¼Ó(extends)
2) formView, successView ¼Ó¼º ¼³Á¤
3) ¼ºñ½º °´Ã¼ ¼³Á¤
4) doSubmitAction() ¸Þ¼Òµå ±¸Çö
[ÀÌÇÏ ¼±ÅÃÀû]
5) referenceData() ¿À¹ö¶óÀ̵ù: ¼¿·ºÆ®(drop-down box)³ª üũ¹Ú½º ±×·ìÀ» Ç¥½ÃÇϱâ À§ÇØ ¿ÀÆÛ·¹À̼ÇÀÌ ÇÊ¿äÇÒ ¶§
6) formBackingObject() ¿À¹ö¶óÀ̵ù: commandClassÀÇ ÀνºÅϽº¸¦ form ¹ÙÀεùÀ» À§ÇÑ °´Ã¼(form backing object)·Î »ç¿ëÇÏ´Â °ÍÀ» º¯°æÇÏ°í ½ÍÀ» ¶§
2. ¼³Á¤ °¡´ÉÇÑ ÇÁ·ÎÆÛƼ
- commandClass: ¼³Á¤ÇÑ Å¬·¡½ºÀÇ ÀνºÅϽº¸¦ ±âº» form-backing °´Ã¼·Î »ç¿ëÇÔ. ºÎ¸ð Ŭ·¡½ºÀÇ formBackingObject() ±¸Çö1 ¿¡ ÀÇÇÏ¸é µðÆúÆ® »ý¼ºÀÚ·Î commandClass ÀνºÅϽº¸¦ »ý¼ºÇÑ´Ù.
- formView, successView: Æû(form)À» Æ÷ÇÔÇÏ´Â ºä¿Í Æû Á¦Ãâ ¹× Ã³¸® ÀÌÈÄ¿¡ º¸¿©Áú ºäÀÇ ³í¸®Àû À̸§. ´õºí ¼¹Ô ¹®Á¦ ÇØ°áÀ» À§Çؼ successView À̸§ ¾Õ¿¡ redirect: Á¢µÎ¾î¸¦ ºÙÀ̸é, POST ÀÌÈÄ¿¡ ¿¬ÀÌ·¯ GET ¿äûÀ» ¹ß»ý½ÃÄѼ formÀÌ ÀçÀü¼Û µÇ´Â °ÍÀ» ¹æÁöÇØÁØ´Ù.
- sessionForm: ÆûÀÌ Ã³À½ º¸¿©Áú ¶§ »õ·Î¿î °´Ã¼¸¦ »ý¼ºÇÒ °ÍÀÎÁö¿Í ¼¼¼Ç¿¡ °´Ã¼¸¦ ÀúÀåÇÒÁö ¿©ºÎ¸¦ °áÁ¤. Ä¿¸Çµå °´Ã¼°¡ DB ¿ÀÆÛ·¹À̼ÇÀ» ¿ä±¸ÇÏ´Â °æ¿ìó·³ ¼º´É À̽´°¡ ÀÖ´Â °æ¿ì´Â true¸¦ °í·ÁÇغÁ¾ß ÇÑ´Ù. µðÆúÆ®´Â false
- bindOnNewForm: true·Î ¼³Á¤ÇÏ¿© »õ·Î¿î ÆûÀÌ º¸¿©Áö´Â ½ÃÁ¡¿¡¼ ¹ÙÀεùÀÌ ÀÌ·ïÁö°Ô ÇÒ ¼ö ÀÖ´Ù. µðÆúÆ®´Â false.
- validators: µ¥ÀÌÅÍ ¹ÙÀεù ÀÌÈÄÀÇ validation ÀÛ¾÷À» ¼öÇàÇÒ °´Ã¼ ÁöÁ¤
- validateOnBinding: µðÆúÆ®´Â trueÀ̸ç, false ÁöÁ¤½Ã validationÀÌ ÀϾÁö ¾ÊÀ½
- commandName: µðÆúÆ®ÀÎ command¸¦ ´Ù¸¥ À̸§À¸·Î º¯°æÇÏ°íÀÚ ÇÒ ¶§
3. ¿÷ÇÃ·Î¿ì ¹× ¿÷ÇÃ·Î¿ì ¼öÁ¤À» À§ÇÑ Äݹé/ÅÛÇø´ ¸Þ¼Òµå
Expert Spring MVC and Web Flow 151ÂÊÀÇ ´ÙÀ̾î±×·¥À» º¸¸é SimpleFormControllerÀÇ ¿÷Ç÷ο츦 ¾Ë ¼ö ÀÖ´Ù. À̱ۿ¡¼´Â ÁÖ¿ä Äݹé/ÅÛÇø´ ¸Þ¼ÒµåÀÇ ¿ëµµ¿¡ ÃÊÁ¡À» ¸ÂÃç¼ »ìÆ캻´Ù.
- Map referenceData(): Ä¿¸Çµå °´Ã¼ ÀÌ¿ÜÀÇ µ¥ÀÌÅÍ°¡ ÇÊ¿äÇÒ ¶§. ¼¿·ºÆ® ¹Ú½º³ª üũ¹Ú½º ±×·ì µî.
- initBinder(): ¹ÙÀÎÅÍ¿¡ Custome property editor µî·ÏÇϴµ¥ »ç¿ë.
- onBind(): °íÀ¯ÀÇ ¹ÙÀεù ¹æ¾ÈÀ» Àû¿ëÇÏ·Á°í ÇÒ ¶§ »ç¿ë. ÀÚ¹Ù ½ºÅ©¸³Æ®³ª hidden Çʵ带 ¾ø¾Ù ¼ö ÀÖ´Ù.
- onBindAndValidate(): Validator ¾øÀÌ È¤Àº Validator·Î´Â ºÒ°¡´ÉÇÑ2 validationÀ» ¼öÇàÇÏ°íÀÚ ÇÒ ¶§.
- ModelAndView onSubmit(), void doSubmitAction(): µ¥ÀÌÅ͹ÙÀεù°ú validationÀÌ ¼º°øÇÑ ÀÌÈÄ¿¡ È£Ãâ
- isFormChangeRequest(): Æû Á¦Ãâ ÀÌÀü¿¡ È¸é º¯È°¡ ÇÊ¿äÇÑ °æ¿ì. °¡·É, ±¹°¡¸¦ ¼±ÅÃÇÑ ÀÌÈÄ¿¡ °ü·Ã µµ½Ã°¡ ³ªÅ¸³ª´Â ÆûÀ» ó¸®ÇÏ´Â °æ¿ì°¡ ¿¹°¡ µÈ´Ù.
Âü°í
- Professional Java Development with the Spring Framework 467-474ÂÊ
- Spring Framework 2.0.2 ¼Ò½º ÄÚµå
- Expert Spring MVC and Web Flow 151ÂÊ
- AbstractFormController.formBackingObject()¿¡ Á¤ÀǵǾî ÀÖÀ¸¸ç, BaseCommandController.createCommand() È£ÃâÀ» ÅëÇØ command °´Ã¼ »ý¼ºÀÌ ÀÌ·ïÁø´Ù. [º»¹®À¸·Î]
- ServletRequest¸¦ Á÷Á¢ »ç¿ëÇÏ´Â [º»¹®À¸·Î]