Spring+Struts+Hibernate
由于用到了Validation,在JSP页面当前用户所选择的文件被他人删除时,点击下载Action,由于Input是InitAction,会在本页面出现Message,为了使第二次下载成功后刷新页面(既不保留页面上的ERROR MESSAGE,不考虑分页回到初始页的情况)
PROCESS
点击下载时会进DisptchAction,判断文件是否存在,设定相应Flag,然后跳转到InitAction,进入页面
在JSP页面上写SCRIPT,当Action某返回值为指定值时,执行相应的刷新操作(既跳转到InitAction)
跳转为了防止白屏,在页面上放了一个隐藏的IFrame,回到页面初始化时改变IFrame的src,使得本页面不会跳转。
<iframe width=0 height=0 id="hid"></iframe>
<script type="text/javascript">
function document.onreadystatechange(){
if (document.readyState=="complete") {
//粗体为Action返回Flag
if(<bean:write name="rtu0101Form" property="downloadFlag" />){
//设定IFrame的src为真实的下载处理Action
document.getElementById("hid").src="/FAMAS/rtu/rtu0101Action.do?method=outputdoFile";
}
}
}
</script>