我正在处理的java应用程序的主页显示一个按钮面板。每个应用程序的特定单元。
这些按钮是禁用的服务器,是否是它的单位(布尔存储在数据库中)。
JSP页面创建一个bean并从服务中调用静态方法来检索布尔值并禁用或禁用按钮:
<jsp:useBean id="modules" class="appli.dto.ModulesDto" scope="session" />
${ AppliService:getModulesDto(sessionScope.modules) }
其中一个单位禁用/启用其他单位(在数据库中设置布尔值)
JSP根据请求生成并发送HTML主页(调用/刷新页面),一切正常。
在切换其他人的单位中,为了验证更改触发同步保存新值调用,显示警报()然后重定向到主页。
作品:
重定向后,主页根据更新的数据库切换按钮。
然后行为取决于webbrowser NB :需要IE和FireFox版本。无法通过更新来解决问题
IE 11 :在重定向时,每个单位,除了行政一个 FF ESR 38.5.1 :显示上一页:
首次更改:显示首页
连续更改:显示上一次更改后应显示的页面(好像FF总是滞后一步)
Google Chrome 53.0.2785.116 :显示预期内容
在刷新时,每个浏览器都会显示预期的内容。
问题:
浏览器显然彼此特别相似。
为什么他们这样做以及如何防止IE和FF的意外行为?
添加“无缓存”元标记。 我添加了以下标签作为推荐here
<meta http-equiv="cache-control" content="max-age=0" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
<meta http-equiv="pragma" content="no-cache" />
但我没有发现任何变化。
答案 0 :(得分:0)
作为解决方法,请尝试更改IE上的Internet选项设置。 常规=&gt;设置=&gt;临时Internet文件 选择,每次我访问网页单选按钮。 单击“确定”关闭“设置”对话框。 单击“确定”关闭“Internet选项”对话框。
答案 1 :(得分:0)
首先在控制器(servlet或portlet)级别中尝试此操作
它通过向响应
添加缓存控制来在浏览器后退和转发时删除bfcacheresponse.setProperty("cache-control", "max-age=0,no-cache, no-store, must-revalidate");
response.setProperty("Pragma", "no-cache"); // HTTP 1.0
response.setProperty("Expires", "0"); // Proxies.
或 html标签
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
参考: