`

struts2---标签、防止表单重复提交

 
阅读更多

struts2标签库:
<!-- struts2的表单标签  -->
label:页面显示的属性。
  <%--  <h2><s:fielderror/></h2>  --%>
    <s:form action="tag01Action" method="post">
     <s:textfield name="username" id="usernameid" label="username"></s:textfield>
     
     <s:password name="password" id="passwordid" label="password" showPassword="true"></s:password>
     
     <s:radio list="{'nan','nv'}" name="sex" label="sex"></s:radio>
     
     <s:checkboxlist list="#{'foot':'足球','bask':'篮球','pingpang':'乒乓球'}" name="love" label="love"></s:checkboxlist>
     
     <s:select list="{'石家庄铁道学院','抚州师专学院','襄阳师范学院'}" name="college" label="college"></s:select>
     
     <s:textarea cols="3" rows="3" name="resume" label="resume"></s:textarea>
     
     <s:submit value="提交"></s:submit>
     
     <s:reset value="重置"></s:reset>
    </s:form>

防止表单重复提交:
令牌机制:
1)、在表单的页面中,生成UUID值;
2)、把这个值通过hidden 隐藏项传递到页面中;把这个值放到session域里面setAttribute("uuid",""UUID值);
3)、提交表单到servlet中:在servlet中先得到hidden提交的值;在得到session域中的uuid值;
4)、比较这两个值是否相同,如果相同进行操作
5)、完成操作之后,要把session里面的uuid值删除。

Struts2防止表单重复提交:
Struts2里面添加一个标签:<s:token>;
通过struts2 提供 tokenIntercetor 拦截器 完成请求中令牌号 和 session中令牌号 比较
  <action name="test3" class="test1.TestAction3">
   <interceptor-ref name="token"></interceptor-ref>
   <interceptor-ref name="defaultStack"></interceptor-ref>[显示默认拦截器]
   <!—设置重复提交跳转的页面 -->
   <result name="invalid.token">/emp.jsp</result>
   <result name="success">/1.jsp</result>
   <result name="input">/2.jsp</result>
  </action>
当表单重复提交时,token拦截器自动跳转 result name="invalid.token"通过 <s:actionError/> 显示错误信息
覆盖重复提交信息  struts.messages.invalid.token=您已经重复提交表单,请刷新后重试


 

分享到:
评论

相关推荐

    Struts2防止重复提交解决方案

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

    Struts2解决表单重复提交

    Struts2作为一个流行的Java Web框架,为解决表单重复提交提供了多种方法。 首先,关于表单重复提交的原因,有以下几点: 1. 服务器或网络延迟导致用户多次点击提交按钮。 2. 用户在表单提交后刷新浏览器页面。 ...

    Struts2_表单的重复提交问题

    Struts2提供了一种简单有效的方法来解决表单重复提交的问题,即通过使用`&lt;s:token&gt;`标签和相关的拦截器。 1. **实现原理**: - 在每次表单提交前,Struts2会生成一个唯一的令牌(Token),并将其存储在用户的Session...

    struts2-生成图片验证码

    5. **验证用户输入**: 当用户提交表单时,Struts2会调用另一个Action来验证用户输入的验证码是否与session中的值匹配。如果匹配,验证成功;如果不匹配,提示用户重新输入。 6. **安全考虑**: 为了增加安全性,...

    Struts2 防重复提交Demo

    Struts2是一个流行的Java Web框架,它为开发者...通过上述步骤,Struts2的`s:token`标签可以帮助开发者有效地防止重复提交,保证Web应用程序的数据一致性。理解并正确使用这个功能,可以提升应用的健壮性和用户体验。

    【原创】Struts2防止表单重复提交.doc

    本文详细介绍了如何在Struts2框架中使用`&lt;s:token/&gt;`标签和`token`拦截器来防止表单重复提交。通过这种方式,可以有效地避免因重复提交而导致的数据冗余和其他潜在问题。对于开发者来说,理解和掌握这些技术是非常...

    struts2防止重复提交

    Struts2提供了几种策略来防止表单的重复提交,确保请求的唯一性和事务的一致性。 一、令牌(Token)机制 Struts2的Token插件是防止重复提交的一种常见方法。这里的"Strut2Token"很可能是指这个插件的应用。它的...

    Struts2防止重复提交的解决方案

    综上所述,Struts2提供了多种手段来防止表单的重复提交,开发者可以根据具体的应用场景选择合适的方法。同时,Struts2还具备强大的功能扩展性和灵活性,能够满足复杂应用的需求。通过合理的配置和开发实践,可以有效...

    Struts2自定义拦截器实现防止重复提交

    Struts2默认提供了一些拦截器来帮助处理这个问题,但如题目所述,由于性能考虑,项目组决定不使用Struts2的标签,因此需要自定义拦截器来实现防止重复提交的功能。 自定义拦截器的实现主要分为以下几个步骤: 1. *...

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

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

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

    在Struts的配置文件(例如`struts.xml`)中,为需要防止重复提交的Action添加一个拦截器栈,包括`token`和`tokenSession`拦截器。 ```xml &lt;interceptor-ref name="defaultStack"/&gt; &lt;interceptor-ref name=...

    struts2的驱动和防止重复提交

    防止表单重复提交是Web开发中的重要安全措施,以避免用户意外或恶意地多次提交同一表单。在Struts2中,可以使用`Token Interceptor`来实现这一功能。在表单中添加`&lt;s:token&gt;`标签,例如: ```html &lt;!-- form ...

    struts2中防止重复提交的方法

    总之,防止重复提交是Web应用开发中的重要一环,可以通过Struts2提供的 `&lt;s:token&gt;` 标签结合拦截器,或者结合客户端验证和服务器端状态管理等多种方式来实现。正确实施这些措施,可以有效避免数据的不一致性,提高...

    struts2中token限制表单多次提交

    Token机制是通过在客户端(浏览器)和服务器之间传递一个唯一的标识符(Token)来防止表单的重复提交。当用户首次提交表单时,服务器生成一个Token并将其存储在服务器端,同时将其作为隐藏字段返回给客户端。如果...

    struts token 防止页面刷新,重复提交

    在Web应用开发过程中,特别是在使用MVC框架如Apache Struts进行开发时,防止表单重复提交是一个重要的安全措施。表单重复提交通常发生在用户点击“提交”按钮后,由于网络延迟或其他原因没有及时收到反馈,导致用户...

    拦截器防止重复提交的设置步骤

    在 Struts2 框架中,防止重复提交是一个非常重要的安全性问题。重复提交可能会导致数据的不一致和系统的不稳定。为了解决这个问题,Struts2 提供了拦截器机制来防止重复提交。在本文中,我们将详细介绍如何设置拦截...

    struts2标签大全

    它可以自动绑定到Action类的属性,支持各种HTTP方法如GET、POST,并且提供了防止重复提交的功能。 2. **s:textfield标签**:用于创建输入文本框,可以与Action的属性进行绑定,支持验证和国际化。 3. **s:textarea...

    struts2标签库实验报告.docx

    ### Struts2标签库知识点详解 #### 一、实验背景及目标 本实验报告主要针对Struts2框架中的标签库进行深入研究与实践。通过实验,学员能够掌握Struts2中几个常用标签(如`&lt;s:radio&gt;`、`&lt;s:select&gt;`、`&lt;s:token&gt;`)...

    Struts2知识点总结

    防止表单重复提交是Web开发中的一个重要功能,为了避免重复提交造成的数据重复或错误,Struts2同样提供拦截器实现这一功能。可以配置token拦截器来为每个请求生成一个令牌(token),并将这个令牌存储在客户端。提交...

Global site tag (gtag.js) - Google Analytics