模态窗口(window.showModalDialog)数据缓存问题

    今天遇到一个关于模态窗口的问题。第一次打开模态窗口时,进了后台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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值