关于一条sql语句执行两遍的问题

首先来看一下我要做的东西,一个简单的运用springMVC做一个管理员的增删改查的表。在jsp界面中用onclick方法调用go
这里写图片描述
这里是go方法一个简单的转向这里写图片描述
然后他会调用controller里的add,这里add加在了requestmapping的注解里,
这里写图片描述
因为在xml文件中加了.jsp后缀会自动return user.jsp。
在user.jsp里有个判断方法,如果传过来的参数id不为空,则执行insert,这里判断是为了和update方法区分,因为修改是会指定某一行,有id参数传参。
这里写图片描述
判断后,form表单提交转向controller,执行insert
这里写图片描述这里用的是ajax,因为错误不是出在这里就不过多概述。最后执行保存。这里写图片描述这里写图片描述
在这里错误就出现了,虽然数据新增成功了,但是执行了两遍,这里写图片描述
因为并没有报错,为了找出错误,我在controller里的每个方法都加了system舒服一下,结果
这里写图片描述试了很多地方也没发现原因,最后只能在save方法里做尝试。终于在这里找到了病因,改下这样之后,问题就迎刃而解了。这里写图片描述因为我是初学者,所以很多细节属性了解的不多,在这里专门查了一下,如果不加type=button的话,button在这里默认为submit属性,会再提交一次,所以不论是insert还是update都会执行两次,W3C给出的标准是:Internet Explorer 的默认类型是 “button”,而其他浏览器中(包括 W3C 规范)的默认值是 “submit”。所以,为了避免再犯错误,最哈养成习惯,在使用button的时候随手为按钮规定 type 属性。button的type属性有三种类型:submit,button,reset。button-普通按钮,submit-提交按钮。
  submit是button的一个特例,也是button的一种,它把提交这个动作自动集成了,submit和button,二者都以按钮的形式展现,看起来都是按钮,所不同的是type属性和处发响应的事件上。
  写的东西比较简单,但是错误是真的刻骨铭心。找了一天半,希望能帮到大家。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值