`
ticojj
  • 浏览: 152923 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

使用struts2拦截器实现防止表单数据重复提交

 
阅读更多
//-----------------------------------------jsp-----------------------------------------------
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<html>
 <head>
  <title>防止表达数据重复提交</title>
 </head>
 <body>
  <form action="user!addUser.action">
    username:
   <input type="text" name="user.username" />
   <!--
   使用struts2提供的标签token
   这里会在html页面中生成一个hidden 并产生一个与服务器端session中存在一个相同的值用于比较   
   -->
   <s:token></s:token>
   <input type="submit" value="submit" />
  </form>
 </body>
</html>
//-----------------------------------------struts.xml-----------------------------------------------
<struts>
 <package name="interceptor" namespace="/" extends="struts-default">
  <action name="input" class="com.struts2.action.InputAction">
   <result>/addUser.jsp</result>
  </action>
  <action name="user" class="com.struts2.action.UserAction">
   <result>/success.jsp</result>
   <!--配置拦截器-->
   <interceptor-ref name="defaultStack"></interceptor-ref>
   <interceptor-ref name="token"></interceptor-ref>
   <!--配置错误页面,指定name="invalid.token"-->
   <result name="invalid.token">/error.jsp</result>
  </action>
 </package>
</struts>

//-----------------------------------------action-------------------------------------------------------

import com.opensymphony.xwork2.ActionSupport;
import com.struts2.dto.User;
/**
 *UserAction
 */
public class UserAction extends ActionSupport{
 
 private User user;
 public String addUser()
 {
  System.out.println("-----------添加成功!-------------");
  return this.SUCCESS;
 }
 public void setUser(User user) {
  this.user = user;
 }
}
import com.opensymphony.xwork2.ActionSupport;
/**
 *InputAction
 */
public class InputAction extends ActionSupport{
 
 public String execute() throws Exception {
  // TODO Auto-generated method stub
  return super.execute();
 }
}
 
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xinyangwl/archive/2010/04/03/5446034.aspx
 
分享到:
评论

相关推荐

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

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

    SSH笔记-数据验证、上传下载、避免表单重复提交、自定义拦截器

    SSH笔记-数据验证、上传下载、避免表单重复提交、自定义拦截器

    struts2帮助文档

    struts2的基石-拦截器 struts2中实现IOC struts2中实现文件上传 struts2中实现CRUD struts2中的OGNL struts2的新表单标志的使用 struts2与AJAX一 struts2与AJAX二 struts2与AJAX三 struts2中用Spring实现IOC struts2...

    Struts2知识点总结

    Struts2知识点总结,包括文件上传,文件下载,防止表单重复提交,Struts2标签,Struts2拦截器

    Struts2详解,Struts2与Struts1的区别

    新手必备,看完绝对思路清晰。醍醐灌顶啊! 一. Struts2介绍 1. Struts2简介 2. Struts2和Struts1的常见区别 ... Struts2的拦截器 13. 拒绝表单重复提交 四. OGNL表达式 五. Struts2中常用标签

    Struts2 in action中文版

    15.3 使用令牌防止表单重复提交 313 15.3.1 使用s:token/表单标签 313 15.3.2 令牌拦截器规则的例外 314 15.4 自动显示等待页面 316 15.5 完成CRUD操作的一个动作 317 15.5.1 CRUD 317 15.5.2 拦截器和接口 318 ...

    struts2自定义拦截器

    利用struts2实现权限拦截。输入正确的用户名和密码,则跳转到内容页面,否则无权限,跳回注册页面。

    个人认为目前最完备的Struts2教程

    07 Struts 2的基石——拦截器(Interceptor) 08 在Struts 2中实现IoC 09 在Struts 2中实现文件上传 10 在Struts 2中实现CRUD 11 Struts 2中的OGNL 12 Struts 2的新表单标志的使用 13 Struts 2与AJAX

    struts2入门教程

    ·Struts 2.0中实现表单数据校验(Validation) ·拦截器(Interceptor) ·Struts 2中实现IoC ·Struts 2中实现文件上传 ·Struts 2中的OGNL ·Strus 2的新表单标签的使用 ·Struts 2与AJAX ·Struts2分页 ...

    struts2.0中文教程

    07 Struts 2的基石——拦截器(Interceptor) 08 在Struts 2中实现IoC 09 在Struts 2中实现文件上传 10 在Struts 2中实现CRUD 11 Struts 2中的OGNL 12 trus 2的新表单标志的使用 13 Struts 2与AJAX

    Struts 2.0系列(MAX)

    Struts 2.0系列(MAX),pdf格式,全...Struts 2的基石——拦截器(Interceptor) 在Struts 2中实现IoC 在Struts 2中实现文件上传 在Struts 2中实现CRUD Struts 2中的OGNL Strus 2的新表单标志的使用 Struts 2与AJAX

    Struts2入门教程(全新完整版)

    5. TokenInterceptor防止表单重复提交。 34 6.使用拦截器实现权限验证 35 7.拦截器中的注解 37 8.使用PreResultListener实现回调 39 六、使用标签 40 1.基础表单标签 40 2.单选按钮和复选框: 41 3.三种方式实现下拉...

    struts2讲义_吴峻申

    4.1 拦截器在Struts2中的缺省应用 47 4.2 拦截器原理实现 50 4.3 在Struts2中配置自定义的拦截器 53 4.3.1 扩展拦截器接口的自定义拦截器配置 54 4.3.2 继承抽象拦截器的自定义拦截器配置 56 4.3.3 继承方法拦截器的...

    struts2 详解文档

    介绍Struts 2及Struts 2开发环境的搭建 第一个Struts 2应用开发 解决Struts 2配置文件无提示问题 Action名称的搜索顺序 ...使用标签防止表单重复提交 Struts 2+Spring 2.5+Hibernate 3.3整合开发

    Java详解ModelDriven和Preparable拦截器.doc

    params拦截器是Struts2中的一个重要拦截器,它有两项功能:一是提交表单时将表单域中的值注入到栈顶对象对应的属性中;二是目标页面为表单时,将栈顶对象的属性回显到对应的表单域中。 七、ModelDriven拦截器的优点...

    Struts2.0中文教程权威版

    07 Struts 2的基石——拦截器(Interceptor) 08 在Struts 2中实现IoC 09 在Struts 2中实现文件上传 10 在Struts 2中实现CRUD 11 Struts 2中的OGNL 12 trus 2的新表单标志的使用 13 Struts 2与AJAX Struts2中用...

    struts2课程笔记

    struts2知识点:处理流程,基本配置,与servlet的API解耦,结果类型,通配符和动态方法的调用,类型转换,文件上传,拦截器,表单验证,国际化,OGNL表达式,UI标签,模型驱动,防止表单重复提交,项目练习知识点:...

    深入浅出Struts2(附源码)

    第15章防止重复提交 252 15.1 标记管理 252 15.2 使用Token拦截器 253 15.3 使用Token Session拦截器 256 15.4 小结 257 第16章调试与性能分析 258 16.1 debug标签 258 16.2 Debugging拦截器 259 16.3 性能...

    深入浅出struts2

    开发人员还可以通过拦截器(可以自定义拦截器或者使用Struts2提供的拦截器)来对请求进行预处理和后处理,这样一来,处理请求就变得更加模块化,从而进一步减小耦合度。模块化是一个通用的主题——可以通过插件机制...

Global site tag (gtag.js) - Google Analytics