Struts中token标签防止重复提交

 

使用拦截器

<action name="pro" class="action.Pro">

           <!-- 使用系统默认的拦截器栈 -->

           <interceptor-ref name="defaultStack"/>

           <!-- 使用防刷新的token拦截器 -->

           <interceptor-ref name="token"/>

           <!-- 定义重复提交转向的视图,该逻辑视图名必须是invalid.token -->

           <result name="invalid.token">/refresh.jsp</result>

           <!-- 如果处理结果返回success,对应/show.jsp视图资源 -->

           <result name="success">/show.jsp</result>

</action>

 

表单页面

<body>

<h3>使用s:token防止重复提交</h3>

<s:form action="pro">

    <!-- 普通表单域 -->

    <s:textfield name="userName" key="book"/>

    <!-- 用于防刷新的token -->

    <s:token/>

    <s:submit value="提交"/>

</s:form>

</bod

 

refresh.jsp

<body>

您的请求已被处理!请不要刷新页面

</body>y>

 


show.jsp
<body>
成功提交.${uname}
</body>

action.Pro


package action;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

public class Pro extends ActionSupport{
 private String userName;

 public String getUserName() {
  return userName;
 }

 public void setUserName(String userName) {
  this.userName = userName;
 }
 @Override
 public String execute() throws Exception {
  ActionContext.getContext().put("uname", getUserName());
  return SUCCESS;
 }

}

上一篇:Java时间帮助类DateUtil


下一篇:Page_Load上面的代码使用——ViewState,Session,Static,Linq