题
我正在设计一个需要在一个页面上加载多个组件的Web应用程序。 (在页面布局方面与Google阅读器类似)我喜欢将这些组件彼此分开(出于可重用性等原因)。例如,我有一个左侧面板,让用户在他订阅的多个供稿之间导航(特定于用户),在右侧我们显示该供稿的内容,也可能是一个右侧面板,显示有关该内容的一些特定信息特定饲料。 我对MVC以及更具体的Spring-MVC的理解是每个控制器都负责整个页面。在研究了这一点之后,我得出了两个解决方案,但这些解决方案对我来说都不是很好。
- 有一个映射到该URL的主控制器,然后从jsp文件中加载其他组件。这是可行的,但听起来不是一个好的解决方案。
- 使用portlet。 醇>
我想知道什么是最佳做法。这听起来像是MVC框架中一个非常常见的网页设计问题,人们如何做到这一点?
解决方案
Spring MVC控制器通常是<!>;负责<!> :-)处理特定的请求,这并不一定意味着所述请求导致向用户呈现单一页面。
由于您正在谈论类似Google阅读器的功能,或许您将使用AJAX在页面上的不同组件之间加载/导航?如果是这种情况,您可以轻松地将3个组件映射到单独的控制器(通过单独的URI),还有一个<!> quot; main <!> quot;控制器最初加载整个页面。
如果情况并非如此,并且您的页面是静态的,则可以让控制器充当<!>“路由器<!>”;首先实例化组件,然后根据需要将命令/请求定向到适当的组件。每个组件都会更新自己的模型部分,之后<!> quot; main <!> quot; controller将返回要呈现的视图。
你能为此使用portlet吗?当然。但如果我们谈论的是单页,那可能会有点过头了。
不隶属于 StackOverflow