2011-08-19 62 views
1

我正在使用modal框插件和grails。问题是它创建的链接并不总是调用服务器端代码。Href在GSP页面中不工作

这里是要显示在弹出的模式对话框打开页面

<modalbox:createLink 
controller="company" 
    action="setChangeCompanyAdmin" 
    absolute="true" 
mapping="changeAdmin" 
id="${companyInstance.id}" 
title="Change Primary Admin" 
width="600" 
linkname="Change Primary Admin" />  

控制器中的动作在一定的方式准备清单上的链接。但问题在于服务器端并未每次都被调用,只能在IE中调用。

我已经尝试绝对并指定一个映射,但无济于事。

另外我已经在gsp页面中设置了页面属性来完全不缓存数据。

<META HTTP-EQUIV="Pragma" CONTENT="no-cache"> 
<META HTTP-EQUIV="Expires" CONTENT="-1"> 

但即使这似乎并不奏效。

任何帮助,非常感谢。

Adhir

+0

您是否已经查看了插件的源代码? – rdmueller

回答

0

浏览器仍缓存您的请求。您可以将当前时间戳的参数添加到请求中。

<modalbox:createLink 
controller="company" 
    action="setChangeCompanyAdmin" 
    absolute="true" 
    params="${cacheKiller: new Date()​.time​}" 
mapping="changeAdmin" 
id="${companyInstance.id}" 
title="Change Primary Admin" 
width="600" 
linkname="Change Primary Admin" /> 
0

这可能是IE缓存响应。如果要通过控制器的响应对象禁用缓存,请使用以下代码:

response.setHeader("Pragma", "no-cache") 
response.setHeader("Cache-Control", "no-cache, no-store")