Spring MVC中所有页面中的动态内容

时间:2013-03-19 13:18:59

标签: spring spring-mvc sitemesh

我正在使用Sitemesh在Spring MVC中开发我的网站。 Here is example

每页都会更改动态内容,菜单和页脚I可以包含在模板定义中。但是出现了问题。在动态内容下方的每个网站上都应该有一个新闻列表,其中包含来自我的数据库的一些新闻。我创建了我的@Controller并加载了5条最新消息,但是如何在我的模板上添加它?什么请求映射应该实现我的新闻控制器?

1 个答案:

答案 0 :(得分:1)

我不知道Sitemesh是如何工作的,但我通过使用拦截器来解决这样的问题:

创建一个扩展的类: HandlerInterceptorAdapter

重写方法 postHandle 并按如下方式填充modelAndView对象:

modelAndView.addObject("newslist",myNewsList);

因此,您将在所有视图中注入变量 $ newslist

不要忘记在你的mvc-congig.xml中声明bean:

<bean id="newsListInterceptor" class="mypackage.NewsListInterceptor"/>

当为每个请求执行拦截器时,我还使用ehcache存储结果,并避免在每次调用的数据库中选择时。