使用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拦截器)