如何使用spring处理浏览器按钮问题?如何使用spring处理浏览器按钮问题?
在我的应用程序用户登录的情况下正确的后退按钮页面状态的用户点击也不会保持。所以,我做维护页面状态甚至后退按钮/前进按钮,用户点击
感谢
如何使用spring处理浏览器按钮问题?如何使用spring处理浏览器按钮问题?
在我的应用程序用户登录的情况下正确的后退按钮页面状态的用户点击也不会保持。所以,我做维护页面状态甚至后退按钮/前进按钮,用户点击
感谢
显然是从浏览器缓存请求的页面。您需要禁用有问题页面的客户端缓存。您可以通过创建一个Filter
监听你想禁用缓存的页面,如*.jsp
的url-pattern
做到这一点。在doFilter()
方法执行以下操作:这样
HttpServletResponse httpres = (HttpServletResponse) response;
httpres.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
httpres.setHeader("Pragma", "no-cache"); // HTTP 1.0.
httpres.setDateHeader("Expires", 0); // Proxies.
chain.doFilter(request, response);
,客户端应用程序将被指示不缓存匹配该过滤器的url-pattern
请求。然后按返回键会迫使来自服务器的真正要求,所提出的新的数据。要在请求之间保留某些服务器端数据,您需要获取会话作用域或仅使用GET请求。
哦,别忘了先实施后和测试前清除浏览器缓存;)
你可以使用Spring Web Flow
配置Servlet上下文,因为这里面的拦截器:
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**/*"/>
<beans:bean id="webContentInterceptor" class="org.springframework.web.servlet.mvc.WebContentInterceptor">
<beans:property name="cacheSeconds" value="0"/>
<beans:property name="useExpiresHeader" value="true"/>
<beans:property name="useCacheControlHeader" value="true"/>
<beans:property name="useCacheControlNoStore" value="true"/>
</beans:bean>
</mvc:interceptor>
</mvc:interceptors>
注意:不要忘记删除你的额头在测试您的应用程序时使用ser cache
什么后退按钮的问题? –
问题详细信息已更新 – Vicky
您可以轻松地使用截取功能: http://stackoverflow.com/questions/26420941/how-handle-browser-back-button-in-spring-mvc/31217043#31217043 –