每当我按下浏览器后退按钮,即使成功注销后,它也会将我带到应用程序的主页,没有任何数据。这只显示页面标题部分,按下任何菜单选项都会将我带回登录页面。 我使用Grails-2.3.6和JDK-6。 所以任何身体都可以建议我可能是什么问题,因为我是grails的新手?
答案 0 :(得分:3)
是Web开发中的常见问题,页面缓存在浏览器中,因此当您按下后退按钮时,浏览器会显示其缓存中的内容。为了解决这个问题,您需要在页面中设置过期标题。在grails中,最简单的方法是使用过滤器:
使用以下内容创建fie grails-app/conf/RequestFilters.groovy
:
class RequestFilters {
def filters = {
requestHeadersFilter(controller: '*', action: '*') {
after = {
response.setHeader("Pragma", "no-cache")
response.setDateHeader("Expires", 1L)
response.setHeader("Cache-Control", "no-cache")
response.addHeader("Cache-Control", "no-store")
}
}
}
}
对于safari,您需要另外一个小黑客,将onunload=""
添加到布局的主体(视图/布局)