我今天碰到了MultiActionController
,但不确定在Spring documentation上它的用途是什么...它说
控制器实现,允许同一类处理多种请求类型。此类的子类可以使用以下形式的方法来处理几种不同类型的请求:
在另一个site上,他们说
它将多种请求处理方法聚合到单个控制器中,因此相关功能可以轻松保持在一起。
我仍然不了解与以下内容相比,更好地扩展MultiActionController
还是与之不同?还是MultiActionController
更旧于Spring的旧版?我觉得我有一些基本的误解...
@Controller
public class MyController {
@RequestMapping("/SomePage.html")
public ModelAndView epdReview(
@RequestParam(value="sessionID", required=true) String sessionId,
MyFormData form,
HttpSession session,
HttpServletRequest request){
//....
}
@RequestMapping(value = "/newData.json", method = RequestMethod.POST)
public @ResponseBody ValidationResponse process(Model model,
@Valid SomeData formData, BindingResult result,
HttpSession session) {
//....
}
}
最佳答案
是的,它是从Spring 2.0 MVC API中获得的,就像实现旧Controller Interface的任何事物一样。我在Spring Developer的网络上找不到任何关于为什么所有表亲都没有被弃用的信息。
我可以提供100%的纯粹推测,原因可能是人们可能拥有MethodNameResolver的完全有效的自定义实现,而这些行为无法用DefaultAnnotationMethodHandlerAdapter的行为来替代。因此,基于注释的配置不能为此类的每次合法使用提供100%的替代方案。