今天遇到一个关于模态窗口的问题。第一次打开模态窗口时,进了后台controller方法,然后关掉模态窗口后再次打开模态窗口时,不再进入后台方法,最后发现是模态窗口的缓存问题,禁用缓存后,每次进入模态窗口时就都会进入后台方法了。
什么是模态窗口?
什么是模态窗口?
模态对话框(Modal Dialogue Box,又叫做模式对话框),是指在用户想要对对话框以外的应用程序进行操作时,必须首先对该对话框进行响应。如单击【确定】或【取消】按钮等将该对话框关闭。一般来说,Windows应用程序中,对话框分为模态对话框和非模态对话框两种。二者的区别在于当对话框打开时,是否允许用户进行其他对象的操作。
如何调用模态窗口?
模态窗口(该特性已经从web标准中删除了,但有些浏览器还支持此特性,例如IE浏览器,谷歌浏览器不支持此特性)的语法是如下:
returnVal = window.showModalDialog(uri[, arguments][, options]);
uri:必选参数,指要显示的文档URL路径。
arguments:是一个可选的参数,用于向对话框传递参数。
options:可选参数,用于控制模态窗口的外观等信息。
returnVal:模态窗口向父页面传递的参数。
如何禁用模态窗口缓存?
禁用缓存有2种方法,2种方法大同小异。
(1)在jsp页面中通过java代码设置meta信息
<%
response.setHeader("Pragma","No-Cache");
response.setHeader("Cache-Control","No-Cache");
response.setDateHeader("Expires", 0);
%>
(2)直接在head中设置meta信息
<head>
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Expires" content="0">
</head>