日期:2014-05-18  浏览次数:20680 次

抛出异常 后返回的问题,涉及到JS的open画面机制和jsp中帧对应(有点难度,高手进)。
画面描述:
我写了4个画面:
1   画面是Main画面,其中有两帧是Button和List。
2   画面是Button画面,其中有按钮“添加”,“修改”和快捷检索功能。
3   画面是List画面,其中有列表记录。
4   画面是Error画面,其中有返回按钮。

Main画面代码中的帧应用是:

<frameset   rows= "160,* "   frameborder= "no "   border= "0 "   framespacing= "0 "   id= "frmMain ">
<!--   button   区   -->
    <frame   src= "./testAction.do?method=button "   name= "frmButton "/>
<!--   list   区   -->
    <frame   src= "./testAction.do?method=list "   name= "frmList "   />
</frameset>

Error画面中的返回按钮代码是:

window.history.go(-1);

问题描述:
1、输入快捷检索条件,检索得到记录显示到List画面中。
2、操作List画面中的连接后发生错误,Target指向Main画面,转移到Error画面。
3、点击Error画面中的“返回”,返回到原来有快捷检索后的列表记录(没有执行Action的Button和List方法,这时正确的)。
4、快捷检索条件保留数据和List列表数据都是正确的。
5、重新操作第1条。
6、点击“添加”或“修改”按钮打开小画面(用的是js的OPEN打开的小画面)。
7、不作任何操作,关闭小画面。
8、重新操作第2条。
9、点击Error画面中的“返回”,错误发生了,因为重新执行了Action的Button和List方法,所以Form中的快捷检索条件都是NUll,没有保存下来,List列表数据是所有记录,而不是快捷检索后的记录。

为什么打开小画面后就要重新执行Action的Button和List方法,怎么解决快捷检索条件的保存问题?

------解决方案--------------------
放到request或session,request放的内容多存取几次,session记得用完清理就可以了。
------解决方案--------------------
window.history.go(-1);是西显示的缓存中的,
你的6,7关闭后是不是做了什么动作,比如刷新之类
------解决方案--------------------
先顶再分析