00:00
好,前面呢,我们完成了员工添加功能,接下来呢,我们来编写员工修改,修改呢我们需要两步,第一步首先我们点编辑按钮,先来到我们修改页面,修改页面呢,就跟添加页面类似啊,我们将员工信息得先回显出来,然后输入完了了以后再点击修改,我们才能修改成功。好,我们先来写第一步,点击编辑按钮来到修改页面,按照我们的架构要求,我们的这个修改来到修改页面,相当于是呢,我要查出某一个员工信息,要在修改页面进行回审的,所以我们发ERP杠,我们员工ID,我们以get的方式。那我就来到list页面列表里边。我们把这些八层按钮呢,我们来修改一下,诶第一个呢,是叫编辑,我们把它改成A标签,我们改成A标签,但是呢,它的超链接地址我们写re EF链接地址呢,就是当前项目下,诶我们当前项目下的什么呢?EP,但是呢,注意我们要在这带上什么呢?带上我们的员工ID,而这个员工呢,正在便利他的ID叫ep.id那这一块应该怎么写呢?
01:22
来,首先我们取出员工ID是Dollar符,大括号employ e ID的方式我们可不能写在这,我们应该呢拼串用加号,哎,这是两种不同的表达式的结果,平创起来CTRLF9,写好了以后呢,我们来刷新一下。这个页面,然后呢,我们来看每一个编辑按钮,它的这个路径带上我们这个啊员工ID的,包括呢,我们这个路径带上员工ID都没问题,好,那接下来呢,我们就应该是点击它来到我们这个修改页面,而修改页面呢,跟添加页面基本是类似的,所以呢,我们就直接重用就行了,好,我们来到CTRL了,来写一个能处理来到修改页面的这个请求图。
02:06
Edit page。好,首先呢,我们要处理的请求叫get,我们是以get方式发过来的,什么呢?我们会用路径变量的方式带上员工ID,这个呢是来到咱们这个修改页面,先要查出当前员工,然后呢在页面回显。回显好。那么呢,要查哪个员工,这一块径变量有ID,所以说呢,我们要查哪个员工,我们先来写上ID,而怎么样获取径变量呢?这个ID是啊,我们就给它起名叫ID了,那要获取这个路径变量,那就叫pass ver,哎,路径变量,路径变量呢,有一个变量叫ID,我们就来获取它,这个呢,就表示我们要啊查询到员工,当我们点它,那么这个ID是1001,那我们点最后一个ID是1005,我们以径变量的方式带过来,那么呢,我们就来先查出来吧,Employee do。
03:14
Get,或许哪个员工呢,我们把这个ID传进来,这是我们要查的员工,我们查出员工以后呢,因为要在页面回显,所以说呢,我们还得把它保存起来,就用model的方式,Model第二我们就叫and attribute,我就保存一个EP。保存一个employee对象放在这。好,查出员工并保存,以后呢,我们接下来要回到回到咱们这个编辑页面。给到修改页面,修改页面,而这个return呢,我们就应该是修改页面的路径,我们修改页面呢,大家可以把这个and页面复制一份改成editit,而我呢,就直接来重用一下,我也回到EP and页面,相当于呢,我们这个and页面就是一个修改添加二和一,是一个修改添加二和一的页面,那这样的话呢。
04:16
只不过我们这个修改跟添加可能会有一些不同,比如呢,回到修改页面,我们表单上要有回显值,好,我们先来重启一下,保证这个页面跳转线正确,然后呢,我们再来看一下修改跟添加页面我们要做哪些工作。好,我来刷新一下。ME123456,我点一个登录好员工管理,当我们要修改1004号员工,我点编辑好,现在呢是来到这个表单页面了,只不过呢,我们页面上的这些值都需要回显,哎,张三一面啊,包括真的,哎,包括这个部门,现在这个部门呢,这还是空的,空的的原因呢,是由于我们来到这个添加页面的时候,之前呢,我们还是需要查出部门的,而我们没查,所以我把查部门这句话呢还是放在这。
05:08
好,我们要查出部门页面,要显示所有的部门列表。好。我来重新启动一下,保证咱们这个部门显示正确,但是呢,我们来说这个页面啊,除过说表单要回显外,其实整个呢,我们这个form表单,Form表单有一些。区别什么区别呢?如果是添加员工放表单的action地址是ERP,修改员工的action地址不变还是ERP,但请求方式呢,添加员工是破测方式,而修改员工呢,是破的方式,所以呢,这个表单页面要根据他当前是添加员工而修改员工要发生一些变化好。我来重新来登录一下,保证我们这个页面呢。
06:01
先来显示正确,员工管理,我点一个修改好部门呢都有,那接下来呢,我们就把表单上的值回显过来,好,我们来到咱们这个二合一的and页面,怎么回显呢?我们先来到last name,因为我们来到这个页面的时候,给我们查出了员工放在了EP中,那么员工的所有信息我们都在这里边,好,Last name我们用th value,哎,Value就是呢来取值,到了大括号直接e p.last name,好,接下来呢,我们第二个叫email。回弦email一样th.Y6我们来Dollar符大括号EP点啊咱们这个email包括呢,我们再来看这个征的,这个真的呢,是一个单选按钮,单选按钮要怎么回写呢?诶我们这个有一个属性叫check的,Check呢,我们在这里边传入true或false,如果是true就选中它,如果是false就不选中,而true false呢,我们可以判断得到,怎么判断呢?我们emp点真的。
07:08
等等一,如果说等于一,那它这块就应该是处,那么我们这儿就选中了啊,下边呢也一样,等于零的情况下,才是把下边这个女选中的,所以呢,我们在这来写MG连真的等等零好。包括呢,我们接下来要回选部门,现在呢,我们是select里边,我们用TH便利出每一个部门,而我们当前员工相应的部门要选中,怎么被选中呢?我们还是用这个TH有一个对应的属性,要selected,怎么选中呢?还是要大号。首先呢,这是我们当前正在便利的部门ID,如果说它就等于我们现在呃员工的部门ID,我们这个员工里边呢,有一个属性叫department,好,那你来写一下,等于我们当前员工department的ID,就是说我们的员工的保存的部门ID,如果他俩相等,那这个就会被选中,那birth也一样,THY好,我到了福大括号员工的birth,好,然后呢,我们来CTRLF9,我们来刷新一下。
08:24
来刷新,哎,我们发现呢,这个页面的值回选过来了,哎,部门选中的是第一一,哎没问题,我们来在其他的里边,我们来看一下,来选1003号。幺零零三点过来,诶CCCCC没问题,好,只不过呢,这块生日它是一串英文,应该显示成我们格式化的样子,那格式化呢,就跟我们以前绿色页面里边日期格式化的这个表达式一样。这个表达式呢?好,我们就把这个日期我们写成我们指定的,我们用date工具调用format,我们把employee格式化成我们指定的格式CTRLF。
09:04
我来刷新一下,好,这个显示是正确的,大家注意这有一个问题,什么问题呢?由于我们这个修改跟添加是二合一页面,现在呢,修改我是调好了,但是添加呢,我点进来大家发现诶出错了,错误的原因呢,我们来看控制台打开错误呢,他说诶属性说last name没有找到在那里边。为什么呢?也就是说,由于它是二合一页面,我们直接点击员工添加来到这个页面。比如我们举一个例子,我们要取出employee lastname。连N布罗一对象都没有,那N布罗一对象它是那的,那么那点蓝色name,这就控制帧异常了,所以说呢,哎,我们这个要区分是员工修改还是员工添加,说明一下好,需要区分。是员工修改还是添加啊,如果是修改才需要回线,添加当然不需要回线,那么怎么样区分呢?非常简单,如果是员工修改的情况下,我们给你保存了一个叫EP对象,而员工添加呢,哎,只有部门信息,没有员工对象,所以呢,我们在这取值的时候啊,我们可以做一个判断,怎么判断呢?我来刀福大括号,我们三元判断MP等等空。
10:32
来,我们应该是不等空,那么呢,不等于空。不等于空吗?如果不等于空的情况下,我们再来显示这个,如果等于空,我们就不显示,剩下的呢,都一样,好,我们把这个表达式拿过来啊,不等于空,我们才来这么来做。不等于空。好,我们把下边这个也一样,不等于空好下边的这个啊,这个也要不等于空,好我来CTRLF9,我们这个三元运算呢,我把这个问号啊,是两个表达式写在了外边,没有啊写在里边,我接下来刷新,现在呢,我们看到员工添加就没问题了,哎,员工添加不出错了,而员工修改进来回线也是没问题的好。
11:17
而员工添加跟修改可不止这点区别,包括我们这个八寸按钮,诶我们也设置一下th test它的文本内容,那么内容呢,我们来到福大括号emp不等于空的情况下,如果不等于空的情况下来,我们给它显示的是什么呢?啊,不等于空说明这是修改,我们就来显示修改,否则呢,我们就来显示添加,好,这是我们这个按钮的显示,CTRLF9。来刷新一下。好,现在呢是员工修改页面,这显示的是修改,而我点添加,哎,这显示的是添加啊,修改呢,显示的是修改没问题,当然你这个员工修改表单还有一处员工修改呢,最重要的就是我们要发送,当我们一旦点击这个submit,我们要发送put请求,发送put请求。
12:12
发送put请求,修改员工数据。而这个put请求怎么发,我们以前呢,发送put请求,从页面上发put请求,可不是直接把MY改put,因为页面呢。我们这个表单页面只支持get和post方式,我们需要呢有这么啊三步,第一步我们现在spring m VC中配置一个叫黑灯,哎,我们有一个filter叫,哎,我们来CN搜索一下叫黑灯HTTP,哎,Muscle的filter,这个filter的作用呢,就是将我们啊请求转成我们指定的方式,首先呢,我们要配它,哎,这都是我们以前的这个知识,这是第一步,而第二步呢,我们页面呢,创建一个post表单。
13:05
而我们这个表单呢,目前就是post,然后呢,我们只需要再来创建一个咱们这个input项,这个input项呢,它的name必须等于,等于什么呢?叫。这个杠man速的呢,也是在这个filter里边指定的,哎,这个filter呢,它是一个过滤器,它上来呢,就来获取我们这个杠man速的值,这个值呢代表新的请求方式,然后呢,把这个请求方式啊用用上好,我们接下来这是创建一个它杠慢速的值,就是我们指定的请求方式,而有了spring boot,那么第一步这都是spring自动配合的,自动配置好的。我们可以来看一下CTRLN,我们来搜索boot的自动配置,Web mvc auto configuration,在这里边呢,我们来看一下,在上边上边来上边呢来它配了一个叫黑灯HTP的filter,也就是说呢,这filter他已经把我们配好了,所以呢我们就直接用就行了,我们呢在这我来添加一个隐藏的input框。
14:22
我来type等于黑。这个input框的name呢,我们就叫杠,而温度值呢,我们现在要发put请求,我就来写put。但是注意哎,这个put呢,不区分大小写,由于我们这个是一个二和一表单,所以呢,这一项不是说一直都有的,只有在修改页面要进来的时候呢,才有这一项,所以呢,我在这来写一个TF叫判断,这个判断呢,如果判断成了才生成这个标签,什么判断呢?我倒了大号眼P不等于空,要说呢,当我们这个。
15:06
员工不等于空,说明这是一个修改,我们修改呢,才来生成咱们这个put框,如果是添加就没有put框,CTRLF9刷新一下。好,我来刷新一下这个页面,那么现在呢,这是修改,我来查看右键源代码,那看咱们表单上有没有这个put框,诶有杠man速的等于put,而如果我是添加点进来的员工添加,我来右加检查元素,好,我们查看网页源代码,来看我们这个表单,表单呢,我们发现哎,没有了那个杠满锁的这个硬的功好,所以呢,我们这个页面就算是修改完成了。接下来呢,我们就来完成修改,我们在这员工管理,比如我们要修改1003员工,我们点击编辑这一块呢,会回选信息,当我们输入完内容以后,我们来点击修改,点修改呢,我们会来发送,我们来可以看一下,我们会来发送杠EP,但是呢,我们现在是put方式的请求过来,而如果现在直接修改它这呢会报错,叫请求方式不支持method not aloud啊说我们这个request method put不支持,原因呢,是由于我们这个controller里边还没有写我们这个员工修改的功能,就来写一个员工修改。
16:23
Public,好,我们来写一个public string,我们就叫update up date,咱们这个employee update employee呢,来return啊,当我们员工修改完,我们还是让它重定向到员工列表页面,MPS,好,但是我们要处理的请求叫put,满,哎,那是put方式发过来的emp请求。而布的方式发过来的请求呢,我们会携带员工的这些数据,那为了封装简单期间我们还是一样将employee对象直接写在方法入餐,我们来可以在控制台输出一下咱们这个修改的员工数据,我们看对不对。
17:09
不乐意,好,然后呢,我们来重新启动一下,只要这一块呢打印正确,那我们呢就可以直接来,哎,进行员工修改了。好,我们来刷新,没有权限重新登录123456。登录好,现在呢,我们是来到员工管理,我们现在比如修改1003员工来,我们把他的邮箱呢,我改一下,我点一个修改来到页面跳转没问题,但是呢,我们来看控制台,控制台呢员工的这些数据,诶提交过来新数据已经有了,只不过这一块注意这有个ID,等于呢如员工的ID没提交,你要没提交你怎么知道要修改哪个员工呢?我们修改的方法是要调用employee do。还是用这个employee,我们来进行修改的这个save方法呢。
18:05
如果说get ID是空的,没有ID相当于他是来模拟ID自增给我们添加记录的,而如果是有ID,你看啊,他拿到员工的ID,我们给咱们这个employees,这个map里边,我们重新put,重新put呢,相当于就是修改了,而我们现在呢,需要把员工的ID也提交,提交过来,需要提交员工ID,当然我们这是拿map保存的,即使是拿数据库,你要修改哪个员工也应该提交员工ID,好,我们就在这呢,我们来再来变一下,当时修改的时候不止有这个,我们还要有员工ID,有员工ID呢,我们就给它隐藏过来,我们还是用一个隐藏框派等于hidden,好那呢,我们就等于咱们这个ID,而Y6的值值呢,就是我们当然还是TF,我们判断只有判断成立的情况下。
19:03
哎,判断成立,也就是说EP不等于none的情况下,我们才给它生成值PHY6生成什么值呢?就是Dollar大括号为employee对象里边的这个ID啊,我们查出的员工这在其他的地方在这遍利,我们这个last name在这呢,我们来遍利ID等等等等来CTRL加F9。注意啊,我们是if判断成立的情况下,才会生成这个ID标签,好我们来重新刷新一下,我们来点击修改,好我们在这呢重新输入一下,我点击修改,连修改以后呢,我们看控制台现在呢,员工ID就有了,那我们呢,就直接来调用了它的这个修改方法,来到这个CTRL里边,好我们直接调用它的修改方法,因为改了代码,我们需要重启一下。重启完成以后呢,我们来测试整个修改功能和添加功能是不是有冲突和干扰,好来重新刷新一下。
20:03
ME123456登录好员工管理,我们先来测添加,先保证添加正确,来填一个张三AA按特qq.com好,然后呢,我们来整一个难哎,是CC部门啊,生日呢,我们就来写一个2016,我们现在格式化都用短横杠的方式好,我点添加,张三呢是添加进来了,同样呢,我们来修改它,把它修改成啊例四。李四我点一个修改,我们看到哎,这个张三1006就变成李四了,修改生效了,包括呢,我们把它的这个啊,他也没有和添加进行冲突,这就是我们的员工修改。
我来说两句