我正试图在Sring MVC Interceptor posthandle方法中设置我的网页的全局标题,如此
拦截器类
model.addObject("title", "global title"); //ModelAndView
然后在我的控制器课程中我有
model.addAttribute("title", "Specific page title"); //Model - Overwrite global title
我的jsp标题
<title>${titile}</title>
问题在于我总是将“全局标题”作为标题变量的值。出于某种原因,控制器内部的模型ui永远不会覆盖在拦截器内设置的模型。
答案 0 :(得分:1)
如果我理解正确,您实施HandlerInterceptor.postHandle()
方法。 PostHandle意味着,这是在单个控制器运行后运行的。由于您在之后设置了标题属性,因此个别处理程序已经调到“全局标题”,您将始终获得“全局标题”。
尝试使用HandlerInterceptor.preHandle() - 有机会我认为这会更好......
(编辑:输入废话......试试 preHandle(),不要尝试postHandle())