`
lidxgz
  • 浏览: 11539 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

struts跳转到frame第一层时产生的重复提交问题

阅读更多
在index页面上用了嵌套frameset,如下
  1. <frameset rows="100,*" cols="*">  
  2.     <frame src="/cp/user/top.do" name="top" scrolling="no" noresize>  
  3. <frameset rows="*" cols="150,*" framespacing="0" frameborder="NO" border="0">  
  4.   <frame src="left.html" name="left" scrolling="yes"  noresize>  
  5.   <frame src="left.html" name="main" scrolling="yes">  
  6. </frameset>  
  7.     </frameset>  

在"main"层进行修改密码等操作后要回到index页面,这就要求确保index页面始终处于顶层。使用代码下面代码实现。

js 代码
  1. if (top.location !== self.location){   
  2. top.location = self.location;   
  3. }  

在这里问题出现了,修改密码提交后总会提示密码错误(我在ActionForm中用了validate方法验证旧密码是否有效),可是实际上密码已经修改成功。

经过反复排查,发现在index页面上输出self.location为提交修改密码的URL。联想到在struts中使用请求转发显示的URL不变,遂改成重定向方式(即在froward标签里设置redirect="true"),问题解决。

不知道还有别的方法没

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics