我正在使用Sitemesh在Spring MVC中开发我的网站。
每页都会更改动态内容,菜单和页脚I可以包含在模板定义中。但是出现了问题。在动态内容下方的每个网站上都应该有一个新闻列表,其中包含来自我的数据库的一些新闻。我创建了我的@Controller并加载了5条最新消息,但是如何在我的模板上添加它?什么请求映射应该实现我的新闻控制器?
答案 0 :(得分:1)
我不知道Sitemesh是如何工作的,但我通过使用拦截器来解决这样的问题:
创建一个扩展的类: HandlerInterceptorAdapter
重写方法 postHandle 并按如下方式填充modelAndView对象:
modelAndView.addObject("newslist",myNewsList);
因此,您将在所有视图中注入变量 $ newslist 。
不要忘记在你的mvc-congig.xml中声明bean:
<bean id="newsListInterceptor" class="mypackage.NewsListInterceptor"/>
当为每个请求执行拦截器时,我还使用ehcache存储结果,并避免在每次调用的数据库中选择时。