抛出异常 后返回的问题,涉及到
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关闭后是不是做了什么动作,比如刷新之类
------解决方案--------------------先顶再分析