00:00
好,那下面呢,我们来看一下咱们这个删除功能,这个删除功能咱们刚才说的它麻烦之处在哪?就是说我们现在呢,在这有个超链接啊,但是我们现在呢,却要控制什么呀,需要控制一个表单的提交,因为我们现在删除功能怎么要发送的请求方式是delete。然后所以我们就需要用一个表单,然后把它的请求方式设置为post之后,然后咱们再传输过去一个请求参数,叫做下划线method,然后呢,把它的值设置为delete,然后我们让这个表单提交,我们才能发送delete的请求,所以说这个时候我们怎么办呢?那我们先把咱们这个路径呢给写好,是TH冒号,然后呢,这个路径咱们不能在form表单中去写啊,因为form表单咱们咱们只需要创建一个form表单就行了,比如说咱们在这写个form这个东西的action,咱们就不需要去写了,因为我们现在呢,咱们不需要把它给写在咱们的循环中,所以说呢,我们现在是通过我们每点击一次这个超链接,咱们都控制这同一个分母表单来提交就可以,所以说大家注意它的路径,你每点击一次超链接,咱们是不是要把这个超链接的路径,然后复制给咱们当前附翁表单的action,然后这个时候才可以实现,因为我们当前咱们的每一个超。
01:19
链接你点击某点击每一个删除的超链接,它的路径都是不一样的啊,你后面因为我们当前咱们要删除的这条数据的ID是不一样的,知道吧,好,那所以呢,咱们先把路径给写出来,然后跟他一样啊,咱们直接复制就行。大家注意跟他是一模一样的,对吧?然后咱们这个是根据ID来查询员工信息,这个是根据ID来删除员工信息,OK吧,但是你在这你能这样去写吗?不能,为啥,如果你要这样去写的话,咱们就直接这个对吧,把它这样去写,那我们现在发送的请求就是什么请求啊,Get请求,所以你会发现这两个超链接的功能是一模一样的,它都会去跳转到我们当前的修改页面,知道吧,好啊,行,然后在这咱们的method必须为post,然后下面咱们在这是不是需要设置一个什么呀,叫做是这个什么,是不是应该有一个隐藏域,然后它的内膜叫做下划线method,然后它的value流属性值是delete,这个才是我们真正的一个请求方式,那所以说我们现在要实现的功能大家应该都知道了吧,我们现在需要干什么,点击这个超链接啊。
02:29
然后呢,来控制这个表单的提交,把咱们当前这个超链接的h ref属性值,然后赋值给咱们这个表单的action属性就可以了,然后再让他提交,那大家说他是不是就可以干什么,他是不是就可以来以我们当前咱们超链接的这个请求路径,然后来发送一个delete请求,以delete请求方式来发送一个请求,OK吧。好,那这个功能咱们该怎么实现啊,如果说大家学过j query的话。
03:00
然后大家可以想一下j query怎么实现啊,因为我们的课程里面呢,然后咱们现在已经不讲j query了,我们现在呢讲的是view,那所以说咱们就通过这个view来实现一下,好,那我们在这咱们来写一个script的标签啊,然后呢,把咱们的view的GS文件呢,然后引入进来,TH冒号src,好it大括号斜线,然后咱们来找到咱们的这个v.GS然后copy pass。然后把它复制过来,然后咱们把这个路径里面啊,把这些东西都给它干掉,OK,然后下面呢,咱们就可以来使用了,对吧?Script type等于text Java script,好,然后我们首先需要先来创建一个view对象,等于一个new view,然后我们在这里面是不是要来设置我们当前的一些属性,比如说EL来设置我们的挂载容器,对吧?然后这个时候我们怎么来设置呢?比如说我们把咱们上面的这一疙瘩呀,对不对。
04:00
好。然后咱们都给它放到一个div中,然后咱们给这个div啊,给它加上一个什么ad等于AP。好,然后咱们的挂载容器是不是应该直接就是井号APP,然后再往下,那咱们有没有这个模型数据没有,所以说咱们的这个data大家就不需要设置了啊好,然后再往下咱们是不是就要来给我们当前咱们的这个超链接绑定点击事件了,那所以咱们在这怎么写呀,It click能看懂吧eight click是咱们的view里面绑定事件的一个属性,然后等于比如说咱们就叫做delete em。Delete employee。OK吧,这个括号大家加不加都行,如果说你有参数你就加,没有参数的话,咱们这个可加可不加啊好,然后来找到我们当前咱们的view对象对吧,然后在它的一个这个大括号键值对中,咱们来设置一个method属性,然后这里呢,就是为我们当前咱们的这个事件来绑定这个这个函数的啊好,那我们的函数名呢,叫做delete,然后employee,然后括号,然后在这咱们一个大括号。
05:13
然后里面怎么做,大家想想咱们一共有几个步骤,首先呢,然后是不是要把我们超链接它的h ref属性的值赋值给咱们当前的负翁表单,所以说咱们的第一步,咱们在这是不是需要来获取,然后咱们的form表单对不对?怎么来获取document.get elements by t name,因为我们在这没有给它加ID对吧?那我们学了那么多获取页面中标签的方法。对不对,那不就是在我们当前咱们这个指定的情况下来使用指定的方式吗?就比如说在这他没有ID,那我们就必须要给他设置一个ID吗?不需要,我们页面中只有一个分红表单,那我们是不是就可以通过标签名来获取,对不对,叫做get elements by take name。
06:01
好,在这咱们把这个标签名form给写上,然后,但是大家注意,这个方法的返回值是个数组,那我们现在呢,咱们要想去操作这个表单,那我们是不是得把这个表单从我们的数组中获取到,那这里面只有一个表单,那所以说咱们当前数组中是不是也只有一个元素呀,咱们在这直接通过方括号零就可以获取到啊,行,这个大家注意来挖一个form form,然后下面咱们需要干什么,大家想想是不是应该是将咱们的超链接的re EF属性值对吧?然后赋值给谁呀,赋值给我们当前的form表单。Form表单,表单的什么叫做action属性?行大家看怎么写,首先form.action这能看懂吧,Form是咱们当前的form对象对吧?Form表单,然后我们现在点action,然后是不是来操作它的action属性,那我们现在咱们要把谁要把我们当前超链接,然后它的一个h ref属性的值赋值给他,这个时候怎么做?
07:12
大家注意,咱们页面中的超链接只有这一个吗?不是,如果只有这一个,我们可以直接获取超链接,然后把它的h ref复制给他,但是我们现在咱们页面中的超链接很多,我们现在要做的是我们点的是哪一个超链接,咱们就把它的ref属性复制给action,对不对?所以说在这咱们怎么办?大家看啊,咱们这里面有个event对象,Event对象中有一个叫做target target来表示的是当前触发事件的目标对象,也就是说我们当前咱们点的是哪个超链接,那咱们的event.target来表示的就是哪个超链接。OK,那在这咱们再来点h ref,那大家说这不就是我们当前点击的这个超链接的h ref属性吗?咱们把它复制给它,所以说大家一定要看好这个是什么意思,然后这个表示的意思是表示啊,然后来表示咱们当前触发事件的标签。
08:15
OK吧行,然后那我们现在设置完之后,那我们下面咱们是不是就该让这个表单提交了呀,对不对?好,然后我们来看咱们在这呢,将表单提交,哎,将表单提交,然后是form点里面有个方法叫做submit的方法,Submit的方法大家注意,这个方法就是来让表单提交的方法,OK吧行。那我们现在呢,咱们让表单提交了之后,大家说你还有没有其他操作了,大家想你看我们这是啥,这叫超链接呀,那超链接是不是都有默认行为啊。对不对,默认行为就是你点完之后,它一定会跳转到我们的ref,所对应的这个会一定会发送一个请求,就是咱们ref,然后所设置的这个请求地址对不对?所以说我们现在咱们是让表单来提交的,那我们还能不能让咱们的超链接来提交,超链接来实现页面跳转了,不能,如果你在这仍然让超链接来实现,来执行它的默认行为的话,那我们最终咱们看到的效果大家注意还是什么跳转到修改页面知道吧,所以说我们最后还要再做一步干什么叫做阻止,然后咱们超链接的默认行为大家看啊,怎么写呀,在这咱们叫什么叫做。
09:35
阻止默认行为是event对象,然后里面的什么叫做default prevent是阻止对吧,然后default是默认,叫做阻止默认行为,OK啊行,那这是我们当前咱们的删除功能,大家一定要看好这些东西该怎么去做,哎,它麻烦就麻烦到然你要通过一个超链接去控制我们当前一个表单的提交,知道吧?啊好,最后咱们是不是还要把它的默认行为给阻止了,对不对,好,我们现在来重新部署,大家来看这个效果啊。
10:10
好,咱们把浏览器打开,然后我们现在来一个刷新啊,它正在重新部署的过程中,所以说就是这样的效果,之前跟大家说过啊,比如说咱们来找到这个1005,咱们来点击delete。啊,405METHOD notlo。哎,来咱们看一下啊,然后我们当前咱们的这个提提交方式大家看啊,是method等于post,这没问题,然后咱们再来看这个hi灯下划线method,然后delete也没问题对吧?来咱们一块来找找这个错啊,然后我现在呢,我把F12给打开对吧?然后大家看这里面是没有问题的,对不对,对吧?那我们现在咱们这个是什么问题,我们delete大家看一下,你看这个路径它是不是也是没问题的对吧?好,然后只不过就是。哦,是不是我们的这个方法还没写呢,对不对哈,这个啊行,那下面咱们把这个空删除的方法给写一下,行,然后斜线,然后是emlo emlo,你看它在页面中给我们报的是405405,那不就是啥,那不就是我们当前咱们的请求方式不被支持,不被允许嘛,对不对,好,然后所以大家想我们当前呢,然后咱们是不是有一个跟删除的路径是一样的,就是他,但是它所允许的请求方式是不是get。
11:31
对不对,然后我们当前咱们这个,你看我们的浏览器,咱们发送过来的请求,这个请求方式是不是应该是delete,对不对对不,那所以说其实咱们能看到这个错,其实说明我们已经成功了。对吧,要不然的话他也不会报405,是不是说明我们当前发送过去的请求,它确实就是比delete特对不对,好啊行,那我们在这咱们继续往下写,然后这是斜线,然后因为我们要根据ID来删除,所以说在这用一个占位符来表示这个ID。
12:04
好,下面咱们的请求方式对吧?应该是delete,然后public返回一个字符串,然后咱们叫做delete em delete employee行,然后那我们现在是不是要把我们当前的占位符所对应的值跟我们的行参进行绑定,叫做it pass variable,然后在这是不是直接写个ID就行,对吧?然后下面咱们是不是就要来删除咱们的员工信息,好,然后一姆lo DAO点。这个delete对吧,把ID放进来就行啊好再往下,大家说你删除完之后我要干嘛,我是不是得让用户看一下我当前删除之后的效果呀,所以说跟他一样不一样,一模一样,咱们也是删除完之后也要重定向到咱们的列表功能,让用户呢来看到我们删除之后的效果啊,行,这个大家注意,那咱们这个就写完了。
13:01
然后下面咱们再来一个重新部署啊,刚才为什么报错,那是因为咱们这个实现删除功能的这个控制器方法没写,咱们没有去写这个处理删除员工信息的这个请求,对吧?没有去写这个请求所对应的控制器方法啊,所以说呢,那他找到谁了,那他是不是会找到他,但是咱们找到它之后,它允许的请求是get,而我们所发送的请求是什么delete,所以说它就报错了,报什么错405啊,叫做请求方式不支持,OK吧。行,然后下面我们在这呢,我们再来一个刷新刷新啊。好,这个是什么情况,来这个大家注意咱们的代码,如果说没错的话,我们在这咱们来重启一下就行啊。好,然后这个也是我们在咱们的idea里面经常会遇到的一个问题,对吧,咱们的代码绝对是没有问题的,对吧,咱们改的只有删除功能嘛,它对吧,它怎么可能会影响到我们的整个工程呢,是不是啊,所以说呢,大家注意,然后如果遇到这种情况,就是咱们在这儿呢,直接什么都找不到的话,然后那我们就直接重启,大家注意这个问题就可以解决啊。
14:11
大家看看没问题,下面咱们来点击这是咱们的列表功能,下面咱们点击删除,大家注意1005啊,点击之后大家看是不是没了,那1001点击删除没有了对吧?Delete对不对,然后在这也是delete,然后1004DELETE,看这是不是就没有了。OK吧,行,这就是我们当前的删除功能啊,好OK,那我们现在呢,咱们的rest rest风格,咱们的增删改查呢,咱们就写完了,大家注意一定要把这个东西给好好的去写一下,因为这是我们当前咱们spring VC里面写的第一个比较完整的一个案例,OK吧,那我们之后呢,然后咱们再讲SSM整合的时候呢,然后我们也是对吧这样的使用咱们的rest风格来给大家做一个增删改查,当然呢,这个只给大家去做一个这个啊查询的功能,以及分页的功能,然后至于这个增删改的功能呢,大家可以自己去写一下,对吧,因为其实无非就是把我们当前的dau层给换成是咱们的买嘛,是不是对吧?然后咱们只要创建一个map接口,然后呢,去对应我们映射文件中的一个合口尾句就完事了。
15:22
当我们讲完咱们的SSM之后,那我们知道了SSM整合该怎么去用,那我们就可以来实现一套完整的增删改查了,啊行。
我来说两句