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

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

有帮助吗?

解决方案

Spring MVC控制器通常是<!>;负责<!> :-)处理特定的请求,这并不一定意味着所述请求导致向用户呈现单一页面。

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

如果情况并非如此,并且您的页面是静态的,则可以让控制器充当<!>“路由器<!>”;首先实例化组件,然后根据需要将命令/请求定向到适当的组件。每个组件都会更新自己的模型部分,之后<!> quot; main <!> quot; controller将返回要呈现的视图。

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top