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

改错 专栏收录该内容
2 篇文章 0 订阅

首先来看一下我要做的东西,一个简单的运用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
    点赞
  • 0
    评论
  • 2
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

墨明棋妙7788

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

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值