Spring 使用SimpleFormController

Spring 使用SimpleFormController,spring,spring-mvc,Spring,Spring Mvc,本人有一名控制员,该控制员接受以下表格: @Controller public class RegistrationFormController extends SimpleFormController { ..... ..... @RequestMapping(value="index", method=RequestMethod.POST) protected ModelAndView onSubmit(@ModelAttribute Registration registr

本人有一名控制员,该控制员接受以下表格:

@Controller
public class RegistrationFormController extends SimpleFormController {
.....
.....
    @RequestMapping(value="index", method=RequestMethod.POST)
    protected ModelAndView onSubmit(@ModelAttribute Registration registration) throws Exception {
        String uname=registration.getUsername();
        .....
    .......

         ModelAndView mv = new ModelAndView("success");
.....
......
          mv.addObject("addr",addr);

        return mv;
    }
即使我不扩展SimpleFormController,Thsi也可以正常工作。

那么,通过扩展我能获得什么呢

嗯,设置似乎不太好。
@Controller
注释是一个很好的特性,用于声明原型。它只是说它是另一个spring
组件或spring管理的bean,可以在组件扫描中检测到


当您扩展
SimpleFormController
时,明确表示它是一个控制器,并且必须用作控制器,它将用于接受提交的表单数据并以视图的形式返回响应


同一个类中的两个符号毫无意义,我觉得创建一个类
SimpleFormController
会限制它使用任何方法名,并且您必须使用
onSubmit
方法。然而,如果您使用
@Controller
,您可以利用Spring 3及更高版本中的所有灵活性。

SimpleFormController
控制器
而不是
@Controller
。从Spring 3开始,
SimpleFormController
被弃用,取而代之的是基于注释的控制器。根据我的经验,扩展它可能会导致问题,因为
Controller
@Controller
类的处理/处理不同。因此,当使用注释并扩展这个类时,您将一无所获(从长远来看,可能会遇到一些奇怪的问题)。