我有一个接受表格的控制器 -
@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也能正常工作 我可以通过扩展获得什么?
答案 0 :(得分:1)
嗯,设置似乎不太好。 @Controller
注释是一个很好的功能,用于声明构造型。它只是说它是另一个spring Component
或Spring托管bean,可以在组件扫描中检测到。
当您扩展SimpleFormController
时,您明确表示它是一个控制器并且必须用作控制器,它将用于接受提交的表单数据并以视图的形式返回响应。
同一个类中的两个符号完全没有意义,我觉得让类SimpleFormController
限制它使用任何方法名称,并且你被迫使用onSubmit
方法。然而,如果您使用@Controller
,则可以充分利用Spring 3及更高版本中的所有灵活性。