`
lidxgz
  • 浏览: 11779 次
  • 性别: 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"),问题解决。

不知道还有别的方法没

分享到:
评论

相关推荐

    Struts2防止重复提交解决方案

    在Struts2中,防止重复提交是一个重要的问题,因为它可能导致数据不一致性和服务器资源的浪费。本文将详细介绍如何在Struts2中解决这个问题,以及相关的技术概念。 首先,我们要理解Struts2中的拦截器(Interceptor...

    Struts2解决表单重复提交

    这样,当发生重复提交时,Struts2框架会自动处理并转向token.jsp页面,提示用户重复提交了表单。 对于第二种原因,即提交表单后刷新浏览器页面导致的重复提交,Struts2框架允许开发者通过配置结果视图的跳转方式来...

    struts2令牌解决页面重复提交问题

    在Web开发中,一个常见的问题就是防止用户意外或恶意地重复提交表单,这可能导致数据的不一致性和服务器负载的增加。Struts2提供了一种称为“令牌”或“Token Session”的机制来解决这个问题。 令牌机制的工作原理...

    Struts2文件上传下载和表单重复提交问题

    当表单提交时,服务器检查令牌是否已存在于session或请求中,如果存在且与提交的令牌匹配,则处理请求,否则忽略。 - **Session级的Action状态管理**:每个Action实例在处理完请求后存入session,如果再次收到相同...

    通过xml配置搞定Struts重复提交问题

    Struts框架是Java Web开发中常用的MVC框架之一,它为开发者提供了强大的控制层解决方案。然而,Struts框架在处理HTTP请求时,如果没有适当的防护措施,可能会遇到重复提交的问题,这可能导致数据不一致或者服务器...

    解决Struts重复提交

    在实际开发中,Struts框架的一个常见问题就是“重复提交”。本文将深入探讨这个问题,并提供解决方案。 一、什么是重复提交? 在Web应用中,用户可能会意外地多次点击提交按钮,导致服务器端接收到多个相同请求,这...

    struts2 防止表单重复提交的例子

    1. **表单重复提交问题**:当用户在提交表单时,由于网络延迟或用户误操作,可能会导致同一个表单被多次提交。例如,在购物网站上,用户可能因点击按钮太快而无意中购买了多份商品。 2. **Struts2框架**:Struts2是...

    解决在struts 中可以通过token 来重复提交的问题

    ### 解决Struts中通过Token防止重复提交的问题 在Web应用程序开发中,特别是基于MVC架构的框架如Apache Struts中,确保用户操作的安全性是非常重要的。其中一项常见且重要的安全措施是防止表单的重复提交。本文将...

    Struts表单重复提交问题

    在处理用户表单提交时,Struts框架可能会遇到一个常见的问题,即表单重复提交。这种情况通常发生在用户点击提交按钮后,由于网络延迟或其他原因导致请求被多次发送,从而可能对服务器端造成多次数据插入或更新,导致...

    struts token机制解决表单重复提交

    Struts Token机制是一种防止表单重复提交的有效策略,尤其在处理关键操作时,如金融交易或数据修改,防止用户意外或恶意多次点击提交按钮导致的数据重复性问题。下面将详细介绍Struts Token的工作原理、实现方式及其...

    Struts高级部分(1)(解决重复提交、上传组件)

    本节主要关注Struts在处理两个关键问题上的高级应用:防止重复提交和文件上传组件的使用。 **一、解决重复提交** 在Web应用程序中,重复提交是一个常见的问题,可能导致数据不一致或服务过载。Struts通过几种策略...

    struts1.3页面跳转问题

    Struts1.3是一个经典的Java Web框架,用于构建企业级应用程序。在Struts1.3中,页面跳转是常见的需求,它涉及到Action类、配置文件(struts-config.xml)以及JSP页面间的交互。本篇文章将深入探讨Struts1.3中的页面...

    Struts解决重复提交步骤

    其基本原理是在客户端与服务器之间传递一个随机生成的唯一标识符(即令牌),通过对比客户端提交时携带的令牌与服务器端存储的令牌是否一致来判断请求是否有效。如果令牌匹配,则认为是合法请求;反之,则拒绝该请求...

    struts2 跳转至404 页面的解决方案

    在使用Struts2的过程中,可能会遇到一个常见的问题,即应用试图跳转到一个不存在的页面,导致用户看到404错误。404错误通常表示服务器无法找到请求的资源,这可能是由于URL配置错误、控制器映射问题或者资源实际不...

    struts2利用token防止表单重复提交(源代码)

    struts2防止表单重复提交,利用struts的拦截器tokenSession,轻轻松松解决表单重复提交的问题。 附件为源代码,后台延迟了3秒,可直接在web服务器下部署运行,输入用户名和密码后,多点几次提交按钮,然后看控制台...

    Struts2 防重复提交Demo

    - `s:token`标签必须与`&lt;s:form&gt;`标签一起使用,因为Struts2的拦截器通常只在表单提交时起作用。 - 如果你使用的是GET方法,记得设置`&lt;s:form method="get"&gt;`,因为默认是POST方法。 - 在实际应用中,可能还需要结合...

    Struts之Token解决表单那重复提交

    如果Token已经存在于会话中并且与请求中的Token匹配,说明这是第一次提交;否则,说明是重复提交,可以抛出异常或者返回一个提示信息。 5. **清理Token** 当处理完请求后,记得从会话中删除Token,以免影响下一次...

Global site tag (gtag.js) - Google Analytics