strsuts2使用标签防止表单重复提交


案例:

PersonAction.java:

package blog.action;

public class PersonAction {
	private String username;

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}
	
	public String execute(){
		return "success";
	}
	
	
}

stsuts.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
	<package name="token" namespace="/person" extends="struts-default">
		<action name="token" class="blog.action.PersonAction" method="execute">
			<interceptor-ref name="defaultStack"></interceptor-ref>
			<interceptor-ref name="token"></interceptor-ref>
			<result name="invalid.token">/index.jsp</result>
			<result name="success">/WEB-INF/page/message.jsp</result>
		</action>
	</package>
</struts>


index.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags"  prefix="s"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
  </head>
  
  <body>
    <s:form action="token" namespace="/person" method="post">
    	姓名:<s:textfield name="username"></s:textfield><br/>
    	<s:token></s:token>
    	<input type="submit" value="提交"/>
    </s:form>
  </body>
</html>

message.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">   
  </head>
  
  <body>
    <s:property value="username"/>
    <br/>
    <%= new Date() %>
  </body>
</html>



posted @ 2012-07-27 15:08  xzf007  阅读(138)  评论(0编辑  收藏  举报