SSM整合练习2

29:修改回显员工信息

第30:修改ajax发送的put请求方式:

** **

    	org.springframework.web.filter.HiddenHttpMethodFilter
    
    
    	HiddenHttpMethodFilter
    	/*
    

上面这个web.xml中配置的过滤器可以将post请求转换成put请求
如果是页面的表单提交,我么可以method=post带一个_method=put的值

报错405:Message Request method ‘POST’ not supported
原因表单序列化后的提交数据没有_method=“PUT”
更改后,数据库数据并没改变。需要注意在控制器方法中requestMapping的值 地址/{id}其中的id是传入的id的属性名保持一致,这样可以修改成功

alert($(this).val())
			 $.ajax({
				type:"POST",
				data:emp+"&_method=PUT",
				//这里的难点是如何获得员工的id_利用编辑按钮会保存员工id传递给更新按钮
				url:"update_emp/"+$(this).attr("emp_id"),
				success:function(data){

第31:修改完成
第二种方法:直接发送"PUT"请求而不去加入_method和“post”请求来转换
如果直接发送ajax的put请求
封装的数据data中除了id传入正确其他的数据全部是null 实体类对象封装不上请求体中的数据:
原因:tomcat的原因:
1.将请求体中的数据封装成一个map
2.request.getparameter就会从这个map中取值
3.springmvc封装pojo对象的时候,会调用getparameter方法拿到每个pojo属性的值
4但是ajax发送的put请求,请求体中有数据但是tomcat没有封装到map中
5.tomcat默认是不封装put请求的请求体中的数据 ,只有post请求才会封装请求体成map集合。

注意在ajax发送请求的success的function回调函数中$(this)指的是:

方法是:在web.xml中重新配置一个过滤器:HttpPutFormContentFilter这个过滤器也是拦截所有
1.配置上httpputformcontentfilter到wetxml中
2.它会将put请求体中的数据封装成map
3.request被重新包装,getparameter被重写,

type:"PUT",
			url:"update_emp/"+$(this).attr("emp_id"),
			data:emp,
			success:function(data){

如何传递当前的第几页的数据到更新的地方显示,方法1:可以使用全局变量
方法2:可以更改按钮传值。

第32:删除功能的提供
单个删除和批量删除
单个删除的删除逻辑:ulr:/项目名/控制器名/{id}传入的id

当要给动态添加的按钮添加点击事件的时候用 ( d o c u m e n t ) . o n ( " c l i c k " , " 按 钮 的 选 择 i d " , f u n c t i o n ( ) ) 需 要 获 得 员 工 的 名 字 : 寻 找 动 态 创 建 的 标 签 内 容 方 法 : (document).on("click","按钮的选择id",function(){ }) 需要获得员工的名字:寻找动态创建的标签内容方法: (document).on("click","id",function()):(this).parent(“tr”).find(“td:[1]”)

第33批量删除:创建全选全不选的span单选框

prop方法可以获取dom原生的属性值,attr可以获取自定义的属性的值

完成 单选框的点击事件:以及全选全不选和单选的逻辑
ckeckbox
在创建表格的时候建立一个checkbox的input这里应该用class定义不用id因为会用class选择器选择一组。

第34批量删除的方法:
首先:设置批量删除的id的集合,查找批量删除的ID集合和获得所有选择的用户的用户名的集合:

你可能感兴趣的:(SSM整合练习2)