首先我们要通过点击修改按钮弹出修改模态框,然后清空一下表单,为什么要清空表单呢,是为了防止第一次点击弹出的模态框内容保存到下一次的模态框里面,导致数据发生错误,既然是修改,模态框里面的数据肯定是和我们点击修改那一行的数据要一样才好利于我们修改数据,所以我们要回填表单里面所有的数据,要回填表单我们使用数据接口和控制器产生连接,然后在控制器那里进行我们需要的表单进行查询,查询到我们需要的数据,然后进行回填,但里面还有着其他表单的数据,而且还是下拉框数据,该怎么回填呢,首先我们把我们的下拉框数据查询出来,然后再进行回填,这里要特别提醒一下大家,因为我们查询的这个数据在我们查询的表单里是ID,所以我们要通过这个ID去这个ID为主键的表单查询我们需要的数据,回填数据中后面需要的ID要是我们用来查询的数据为主键的ID,如果用的ID不是用来这个表单查询数据的ID,就回填不了这个下拉框数据,这里一定要注意哦。
回填表单后,我们就要修改数据然后保存,我们要先获取到表单里面的数据,然后判断里面有没有填写数据,没有的话则需要提醒数据不完整,全填写完整则提交表单,如果保存成功了,就关闭模态框,提示修改成功,然后刷新页面,没成功则提示修改失败。
然后我们把需要修改的表上传到控制器进行修改,我们要修改哪张表就把哪张表的主键存放在隐藏域,这里需要修改俩张表所以需要两个主键,action后面的就是路径,然后我们通过这个路径在控制器中写修改。
修改的第一步就是先实例化ReturnJsonVo,或者自定义一个参数,然后使用try…catch…,用来获取一下异常,然后对传过来的表进行查询,看看修改过后的和数据库里面的数据有没有不同的,但是ID必须要相同,我下图中的员工编号是唯一的,所以它不能重复,除了这些以外,其他的都可以相同,如果countEmployee > 0 则代表数据里已经有此编号则输出数据重复,如果countEmployee为0,则进行下一表的查询,用户表也是一样,如果countUser > 0,则代表数据重复了,如果等于0则进行下一步,因为员工表的编号和用户表的用户编号和密码是一样的,所以用户表的用户编号和密码要等于员工修改后的编号,然后修改用户表,再进行保存,如果保存的数据大于0,则保存成功,如果等于0则保存失败。
然后通过传递过来的ID查询一下员工表,因为要修改员工表,所以数据库的员工表的数据要全部等于修改过后员工表的数据,再给数据库的员工表一一赋值,怎么赋值呢,就是让数据库的里面的数据等于我们修改过后的数据,然后把赋值过后的数据进行保存,如果保存的数据大于0,说明里面有数据,则保存成功,如果等于0则保存失败,如果是失败的话,我们可以通过断点检查我们哪里的数据没有值、判断是否出现错误,和查询的表单是否出现ID数据等不同。