struts2如何防止重复提交

第一步:
在表单中加入<s:token/>标签
第二步:
在struts.xml配置文件中配置interceptor
   <action name="user_*" class="action.UserAction" method="{1}">
   <interceptor-ref name="defaultStack"></interceptor-ref>//struts2的默认拦截器  name值为固定写法
   <interceptor-ref name="token">//struts2已经写好了的拦截器   name值为固定写法
   <param name="includeMethods">add</param>//这个表示对那些方法进行防止重复进行,这里的add表示当遇到add这个方法时,如果是第一次请求add方法会执行,如果是重复(如刷新)则会跳转到下面的页面
   </interceptor-ref>
   <result name="message">/message.jsp</result>
   <result name="invalid.token" type="redirect">/index.jsp</result>//如果重复提交,则跳转到这个页面,如果刷新,则提交到这个页面
   </action>




案例代码
jsp:
<s:form action="user_execute" method="post" namespace="/">
    <s:textfield name="name"/><s:token></s:token>
      <input type="submit" value="add"/>
   </s:form>
   
    <s:form action="user_add" method="post" namespace="/">
    <s:textfield name="name"/><s:token></s:token>
      <input type="submit" value="update"/>
   </s:form>

struts.xml配置

   <action name="user_*" class="action.UserAction" method="{1}">
   <interceptor-ref name="defaultStack"></interceptor-ref>
   <interceptor-ref name="token">
   <param name="includeMethods">add</param>
   </interceptor-ref>
   <result name="success">/message.jsp</result>
   <result name="message">/message.jsp</result>
   <result name="invalid.token" type="redirect">/index.jsp</result>
   </action>


action:
public class UserAction {
private String name;
private String message;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public String execute(){
this.message="execute()";
return "success";
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String add(){
this.message="add()";
return "message";
}
}

这个纯碎个人笔记!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

半个鼠标

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值