Java 如何使用Struts2禁用后退按钮
我使用的是Java 如何使用Struts2禁用后退按钮,java,struts2,Java,Struts2,我使用的是struts.service.static=true和struts.service.static.browserCache=false,但即使在注销后,“后退”按钮仍然有效。当我点击后退按钮时,它将进入上一个屏幕。如何解决此问题?S2将使用上述常量告知浏览器是否需要缓存静态内容 struts.serve.static=true 上述属性由FilterDispatcher 如果为true,那么Struts从jar内部提供静态内容 如果为false,则静态内容必须在/struts上可用
struts.service.static=true
和struts.service.static.browserCache=false
,但即使在注销后,“后退”按钮仍然有效。当我点击后退按钮时,它将进入上一个屏幕。如何解决此问题?S2将使用上述常量告知浏览器是否需要缓存静态内容
struts.serve.static=true
上述属性由FilterDispatcher
- 如果为true,那么Struts从jar内部提供静态内容李>
- 如果为false,则静态内容必须在/struts上可用
struts.service.static.browserCache=true
由FilterDispatcher
使用,并且仅当struts.service.static=true
时才起作用
- 如果为true->Struts将写出静态内容的标题,以便 由web浏览器缓存(使用日期、缓存内容、Pragma和Expires) 标题)
- 如果为false->Struts将写出静态内容的标题,以便 不被web浏览器缓存(使用缓存内容,Pragma,过期 标题) 简而言之,这两个常量都是告诉浏览器是否需要缓存S2提供的静态内容的一种方法
response.setHeader("Pragma", "no-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
或者,您可以创建一个拦截器,并使用所需的操作对其进行配置,以便可以设置标头。
有关如何在S2中控制缓存的更多详细信息,请浏览以下线程
响应中,这比将响应.setHeader
添加到每个jsp(如果使用Struts2)更简单。
请检查一个漂亮的例子,它工作良好