Использование HandlerInterceptor
.
public class CategoryListAddInterceptor extends HandlerInterceptorAdapter {
@Autowired
private CategoryDao categoryDao; //for example
@Override
public void postHandle(HttpServletRequest request,
HttpServletResponse response,
Object handler,
ModelAndView modelAndView) throws Exception {
modelAndView.getModel().put("categoryList", categoryDao.getPostCategoryList());
}
}
В XML-файле конфигурации добавьте:
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**"/>
<mvc:exclude-mapping path="/demo/**"/> <!-- can add exclude patterns if needed -->
<bean class="package.name.CategoryListAddInterceptor"/>
</mvc:interceptor>
</mvc:interceptors>
ОБНОВЛЕНИЕ:
Как у вас естьполучая NullPointerException
при звонке modelAndView.getModel()
, вы можете сделать это, чтобы добиться того же:
@Override
public void postHandle(HttpServletRequest request,
HttpServletResponse response,
Object handler,
ModelAndView modelAndView) throws Exception {
request.setAttribute("categoryList", categoryDao.getPostCategoryList());
}