我有一个奇怪的问题。
我需要在服务器交互结束时真正执行代码。所以,如果我使用jsp,我需要在渲染页面后执行它。
有办法执行吗?
我在这个切入点后尝试了
@Pointcut("@annotation(org.springframework.web.bin d.annotation.RequestMapping)")
但它在“返回ModelAndView”之后就离开了我。我需要完成服务器会话的结束。
我想这样做是因为我需要关闭Hibernate会话,避免由于jsp渲染视图后关闭会话而导致的延迟初始化异常,我想避免脚本让我们喜欢
<% HibernateManager.getSession().close() %>
有效地将视图与模型耦合
答案 0 :(得分:2)
你可以使用spring-mvc拦截器 - 实现HandlerIntercepetor
的{{1}}方法。您也可以在过滤器中执行此操作。
但是你没有两个,原因有两个:
afterCompletion(..)
(和OpenEntityManagerInViewInterceptor
),还有Filter
(和{{1完全符合你的需要。