Spring-MVC中的组件控制器

时间:2009-09-17 16:59:12

标签: spring-mvc

我正在设计一个需要在一个页面上加载多个组件的Web应用程序。 (在页面布局方面与Google阅读器类似)我喜欢将这些组件彼此分开(出于可重用性等原因)。例如,我有一个左侧面板,让用户可以在他订阅的多个供稿之间导航(特定于用户),在右侧我们显示该供稿的内容,也可能是一个右侧面板,显示有关该内容的一些特定信息特定饲料。 我对MVC以及更具体的Spring-MVC的理解是每个控制器都负责整个页面。在研究了这一点之后,我得出了两个解决方案,但这些解决方案对我来说都不是很好。

  1. 有一个映射到该URL的主控制器,然后从jsp文件中加载其他组件。这是可行的,但听起来不是一个好的解决方案。
  2. 使用portlet。
  3. 我想知道什么是最佳做法。这听起来像是MVC框架中一个非常常见的网页设计问题,人们如何做到这一点?

1 个答案:

答案 0 :(得分:1)

Spring MVC控制器通常“负责”:-)处理特定的请求,这并不一定意味着所述请求导致单个页面呈现给用户。

由于您正在谈论类似Google阅读器的功能,或许您将使用AJAX在页面上的不同组件之间加载/导航?如果是这种情况,您可以轻松地将3个组件映射到单独的控制器(通过单独的URI),并使用一个“主”控制器来初始加载整个页面。

如果情况并非如此,并且您的页面是静态的,则可以通过首先实例化组件然后根据需要将命令/请求定向到适当的组件,使控制器充当各种类型的“路由器”。每个组件都会更新自己的模型部分,之后“主”控制器将返回要渲染的视图。

你能为此使用portlet吗?当然。但如果我们谈论的是单页,那可能会有点过头了。