防止重复提交的方法很多,例如:
创新互联主营婺城网站建设的网络公司,主营网站建设方案,app软件开发公司,婺城h5微信小程序开发搭建,婺城网站营销推广欢迎婺城等地区企业咨询
1、Meta法
在你的表单页里HEAD区加入这段代码:
META HTTP-EQUIV="pragma" CONTENT="no-cache"
META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate"
META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT"
2、令牌法
生成一个令牌保存在用户session中,在form中加一个hidden域,显示该令牌的值,form提交后重新生成一个新的令牌,将用户提交的令牌和session中的令牌比较,如不同则为重复提交。
3、禁用按钮法
input type="button" value="提交" onclick="this.disabled=true;this.form.submit()"
4、struts配置法
修改struts-config.xml文件,在action里面有一个redirect重新定向的属性,struts中默认的是false,添加这个属性,改成true,在forword中写上要跳转页面的绝对或者相对地址就行了
修改如下:
action-mappings
action attribute="newsActionForm" name="newsActionForm" input="/addnews.jsp" path="/newsAction" parameter="method" scope="request" type="com.yongtree.news.action.NewsAction"
forward name="list" path="/listnews.jsp" redirect="true"/forward
forward name="error" path="/addnews.jsp"/forward
/action
/action-mappings
你把重复的代码提取出来封装成一个方法不就是了,无非就是
private void SendData(int screenid,int controlid,String info)
{
UpdateTextData data=new UpdateTextData();
data.setScreen_id(screenid);
data.setControl_id(controlid);
data.SetStrings(info);
ListByte.......
RS232.write.......
}
之后在你的popupAlertWindow里就可以写
SendData(7,5,String.valueOf(code));
SendData(7,5,type);
SendData(7,5,info);
重新写个方法,把你选中的放进去,用到的时候调用下就好,重写写的方法最好是static修饰的,这样就能直接用类名调用了,比如
public class A{
public static void b(){
//这里放你那些代码
}
}
以后要用的话就是A.b()就可以用了