Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SpringMVC:一个请求有多个控制器_Spring_Spring Mvc - Fatal编程技术网

SpringMVC:一个请求有多个控制器

SpringMVC:一个请求有多个控制器,spring,spring-mvc,Spring,Spring Mvc,我需要在一页上显示几个控制器的输出 Menu controller: adds "menuItems" collection to the model Banner controller: adds "banner" to the model ListItems controller: the "main" one: it adds all other data to display 我的视图(我使用xslt)了解模型并使用它 我的问题是如何为一个请求调用3个控制器,并将它们的输出合并到一个

我需要在一页上显示几个控制器的输出

Menu controller: adds "menuItems" collection to the model
Banner controller: adds "banner" to the  model
ListItems controller: the "main" one: it adds all other data to display
我的视图(我使用xslt)了解模型并使用它

我的问题是如何为一个请求调用3个控制器,并将它们的输出合并到一个模型中

我不想在这里使用继承(有味道)。我不想使用拦截器,因为它们是低级的,我想使用映射参数,而不是请求和响应

如何在SpringMVC中实现这一点

谢谢


PS:我将尝试使用WebRequestInterceptor,可能

您可以使用spring mvc的Handler interceptor功能,我已经将此用于菜单,面包屑等。您可以找到更多用于实现的方法

从ListItems控制器调用必要的方法?如果我有20个控制器怎么办?添加一个catch all控制器并使用侦听器修改视图?看起来像是用于装饰器或责任链模式,如果您不使用继承,那么您将使用来自主控制器的组合-不可能猜测控制器的配置可能是什么(甚至没有显示它们是如何映射的),因此很难回答。无论如何,实施这一点并不是Spring的责任