Struts2 中有相关设置可以禁止服务器端缓存么

开发中遇到一个问题,用户在某次提交表单后,redirect到一个结果页面,然后点击后退,会直接跳回刚才的表单页,又可以提交了,想禁止这种重复提交,搜索了一下,得到
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);
这样设置后能够不出现这个问题。
想问下大家,在Struts2中,有什么办法能够实现?谢谢~

6个回答

你是在服务器端加的,转发的话,还可以,如果要重定向的话,可能就会无效了,我是在页面上加的

你可以在Struts2中加个拦截器或是tomcat中加一个filter实现你的目的。

[quote]然后点击后退,会直接跳回刚才的表单页,又可以提交了,想禁止这种重复提交[/quote]

你想如何禁止这种提交,或者说你希望有什么样的效果? 比如说: 跳会到刚才页面后,用户提交会报错?

[quote]我期望用户不能回到刚才的页面,或者回去了以后,动态内容已经改变了,并且表单数据也已经重置了。[/quote]

恩,这个就和web服务器就没有关系了,和浏览器相关。查查看有没有设置浏览器特性的方法。不过个人觉得这种做法不一定好,而且不同的浏览器特性还不一样,很难兼容。

你可以换一种思考方试,你可以在保存之前先查看这条记录有没有存在,如果存在了则什么也不做,直接跳过去。如果不存在,则save

在页面上加个禁止缓存,后退后就过期了的那些种。。。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问