我今天遇到了MultiActionController
,我不确定我是否理解它的用途。。。在Spring文档中,它说
允许同一类处理多个请求类型的控制器实现。这个类的子类可以用表单的方法处理几种不同类型的请求
在另一个网站上,他们说
它将多个请求处理方法聚合到单个控制器中,因此相关功能可以很容易地保持在一起。
我仍然不明白扩展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文档中,您可以找到以下内容:
Spring 2.5为MVC控制器引入了一个基于注释的编程模型,使用诸如@RequestMapping、@RequestParam、@ModelAttribute等注释。此注释支持可用于Servlet MVC和Portlet MVC。以这种样式实现的控制器不必扩展特定的基类或实现特定的接口。
因此,如果您已经在使用带注释的控制器,那么扩展诸如MultiActionController
之类的Spring内置控制器就没有意义了。
Spring提供了一个多动作控制器,通过它可以将多个动作聚合到一个控制器中,将功能分组在一起。多操作控制器能够将请求映射到方法名称,然后调用正确的方法名称。当您在一个控制器中有许多常用功能,但希望有多个控制器入口点时,使用多动作控制器尤其方便
是的,这是来自Spring 2.0 MVC API,以及实现旧控制器接口的任何东西。我在网上找不到任何关于Spring开发者的东西,为什么这个开发者没有被弃用,而它的所有堂兄弟都被弃用了。
我可以提供100%的纯推测,这可能是因为人们可以拥有MethodNameResolver的完全有效的自定义实现,而这些实现是无法用DefaultAnnotationMethodHandlerAdapter的行为替换的。因此,基于注释的配置并不能100%替代此类的所有合法使用。
问题内容: 好的,这可能有点钝了,但是Node.js的目的/需求是什么 我主要通过CloudFoundry注意到了它,但是不太确定它应该做什么。但是我猜想它可能相当大,因为为什么VMWare会支持它。 提前致谢。 问题答案: 这是一个… 高效且100%事件驱动的IO框架, 足够灵活,可以使用它可以找到的最佳基础操作系统功能, 以高级编程语言(客户端最有可能使用的相同语言)展示API, 在该语言的最
在UNIX中,我应该编写一个Java文件,将“exit 1”打印到标准错误,然后以1的状态退出。 这是我的方法。 如果是,我应该如何在Unix shell中使用它?当我在bash中编译并运行它时,它只是打印“exit 1”(所以它做了与System.out.println相同的事情,为什么我要使用“err”?)。这里的“标准误差”是什么?
问题内容: 接口允许您创建定义实现它的类的方法的代码。但是,您不能向这些方法添加任何代码。 抽象类使您可以做同样的事情,并向方法中添加代码。 现在,如果您可以使用抽象类实现相同的目标,为什么我们甚至需要接口的概念? 有人告诉我,它与从C ++到Java的OO理论有关,这是PHP的OO东西所基于的。这个概念在Java中有用但在PHP中没有用吗?这只是一种避免在抽象类中乱扔占位符的方法吗?我想念什么吗
问题内容: 我想了解如果我在动态添加的组件中不使用键会发生什么。我删除了键,它的渲染没有任何问题,只是给出了有关键使用的警告消息。有人可以举个例子,说明如果不使用密钥会带来什么后果? 问题答案: 按键可帮助React识别哪些项目已更改,添加或删除。应该为数组内的元素提供键,以赋予元素稳定的标识: 例: TL; DR在渲染动态子级时使用唯一键和常量键,或者期望发生奇怪的事情。 在我使用React.j
问题内容: 这样的方法声明有什么区别: 还有这个: 我的看法是,他们两个都指定传入的对象 必须 是type的子类,那么在这种情况下为什么还要烦恼泛型呢? 问题答案: 在您的情况下,差别不大。 但是请考虑以下几点: 在这种情况下,您可以通过以下方式调用该方法: 如果您使用 您将只能执行以下操作:
问题内容: 只是想知道在这里,让变量在程序中存储无限值有什么意义?是否有实际用途,并且在任何情况下都更可取,还是只是为了插入而插入了一个小片段? 问题答案: 它用作比较的无上限上限值。这对于查找某物的最低值很有用。例如,计算遍历树木时的路径路线成本。 例如,在选项列表中找到“最便宜”的路径: 如果您没有空余时间,您将使用什么价值?就足够-消除了这个猜测。