00:00
下边呢,我们来看一下蒸删改查的这个添加操作,这个添加呢需要分为两个步骤,第一个步骤我们需要来显示这个添加的页面,第二个步骤点提交按钮完成添加操作。这里边儿有以下几个点是需要注意的,我们注意到我显示这个页面的UI呢,是emp,我完成添加操作,这个UI也是emp,但需要注意的是,一个是get请求,一个是post请求,看到了吧?第一个需要注意的第二个,在这个表单页面里边有一个供我们选择的这个department部门,这个部门是需要来源于DA的,所以说我们这个页面必须经过handler的方法,而不能够直接连过来。第三个需要注意的,我们为了更快的来开发这个页面的话,这个页面我们需要使用spring。
01:05
MVC的北带标签。最后一个需要注意的那。添加成功的话,到这个目标页面,我们使用的是一个重定向的操作,好吧,OK,我们开始。首先写一个超链接AEP。A new employee,这是一个get,请求拿过来。Input。Return input at request mapping,这是一个get请求,所以说呢,我需要写这个外流属性值,而不能够再用那个默认的了,是吧,否则的话怎么写method呀,等于request method的点GA。
02:13
我需要在页面上显示部门信息,所以说把部门的department DAO拿进来,At auto。加map吧。因为我需要把它显示到页面上,Object map map.department department点。Departments好了,这样的话呢,这个方法就写完了,下面我们来写目标页面,应该是在views下边有一个input.jsp。
03:03
我们刚才讲到呢,这个页面我们需要使用spring mvc的表达标签。表单标签al斜杠,我们找到form。就这个是吧。Form,好,首先呢,呃,我们来讲点这个额外的哈,不直接写第一个问题,为什么需要使用form标签呢?为什么用啊,因为这个标签的话,让我们可以更快的开发出这个页面,而且还可以进行表单值的回显,可以更快速的开发出表单页面,而且。可以更方便的方便的进行表单值的回显,这个回显呢,当我们在做下一个功能修改的时候,能看得到哈,能看得到那。
04:19
快速去开发这个页面的话,我们可以来看一眼,比方说这个页面呢,就有这样的一个部门,对吧,如果要是不用phone标签的话,我们起码我们要套一层循环。有了form标签的话,循环就省掉了,嗯,这就是一个好处,现在的话呢,我们来写它这个标签啊,叫什么?Form开头能想到吧,表单form,一看这个标签的名字就能够知道是吧?Form OK action e method post。第一个应该是我们这个里边的叫employee,看一眼哈。
05:07
这个是department,这不对,点错了点它。Employee,哎,我们需要添加的呢,有lastname email gender跟department。Lastname form。哪个像这个文本框儿啊。我们看诶有一个什么。有一个input,就是它这个pass。对应的是那个HTML标签的name属性,Last name过来写一个注释说pass属性对应HTML。表单标签的name属性值,第一个搞定下一个email form。
06:08
诶,错了哈,Form什么呀?Input,这叫email,再下一个叫。叫A。真的这个的话呢,实际上就是一个什么呀,实际上就是一个嗯,单选这是一组,所以说我们可以来用一个标签叫。错了哈,它是吧,叫真真的看着form。Radio buttons1组集合吗,名字就叫。真的好斜杠,我们看到这个跟stra to一样,它会有一个什么呀?会有一个it item label跟item value it里边可以放一个集合,或者是一个map,我们这里边的话呢,我们选择来放一个maps。
07:07
好的,放一个map这块的话,我来创建一个map string。等于S等于new哈希map。这块你就感觉到了是吧,没有抓to标签那么方便,抓to标签是可以在这个里面去创建这个集合的,这个不行,就得这么搞一下是吧,自己拿加va代码来写一下,真点put好的啊,这个值是一的话。直。见直对string这个的话呢,我们取为ma。要是零的话,我们定义为female,好写好,这里边呢,我就不需要再分配那个item label跟item value了,它将自动的去解析这个map。
08:16
好,还有一个下一个叫什么呀,叫department,诶部门这个时候form肯定是select pass department it。应该是。对吧。然后呢,诶,Item label显示的,显示的应该是。对吧。还有一个是item value,这个的话呢,应该是ID版。
09:06
应该加D对吧,好的写好,刚才这块的话呢,差点意思,这个真S啊,是不能够直接来显示的,我需要把它放在一对象里面,GEGES好搞定。最后一个提取按钮,Input sum value sum,搞定。显示一下,瞧一瞧。点一下。注意点超链接好的,我们看到21行呢,有错误,往下翻一下什么错误呢?哎,他报了这样的一个错误,他说呀,呃,没有一个目标对象。
10:05
对于什么呀,对于command的这样的一个属性,在请求域里边没有这样的一个属性是怎么回事呢?这个原理有点类似于TRUS1的那个表单,没法显示,你想来显示这个页面的话,我必须。在预对项里边有一个B,然后那个bin有跟表单这个pass所对应的属性听清了吧,这是一个需要注意的地方,好,我直接呢把这段话给它复制过来。在这儿。CTRLC过来,诶可以通过model tri model tri属性来指定绑定的模型属性,如果没有的话呢,它默认从request里边去找command所对应的B,如果要是再没有的话,发生错误,什么意思啊,是不是Mac认为啊这个。
11:05
表单一定是要进行回显的,懂这个意思吧,那即便是你第一次来,你第一次来这个时候的话呢,我会上请求域里边找那个B。然后来匹配当前的表单值,即便是你不需要回显的话,你也需要这样做,那于是我们就还需要再干一个事儿,这个事儿吧,诶,这是一个错了哈,这是一个添加操作map.put好的。Employee诶6EMPLOYEE直接弄一个空的employee叫可以了保存。走起,再看。还有错误二十五行什么错误啊。往下翻一下看看错误啊,Command是吧,Command,我们这块的话呢,并没有改这个,呃。
12:09
Bin的这个属性值没改是吧。Attribute model attribute这个值呢,默认叫command,我们这个里边叫employee employee跟谁一致啊,跟这个里边的这数用值一致,OK,再刷新。好的,这个页面呢,正常的显示出来了。看到了吧,诶,我们这块用了spring mvc的。别的标签这个是我们新学的,我们把PPT呢简单的过一下。首先,表达标签会有两个。作用,第一个作用让我们更便捷的去开发表单页面,第二个就是可以进行表单值的回显,回显呢我们在修改的时候才能看到,因为我们这个添加呀,是没有这个回显的,就是说我们这个添加做的比较简陋是吧,我们我们并没有说,比方说你这个值填错了,然后完了给你回显回来,我们这块没有这个功能。
13:13
到后边做更复杂的这个DEMO的时候,我们会把这个功能加上。呃。看这个吧,诶,Model tribute默认值是command,我们要求这个表单进行显示的时候,那么在预预对象里边必须有一个跟表单字段对应的一个B。没有这个B的话,将抛出异常,看到了是吧?Model tribute默认值是command,你可以修改它,我们这个里边的话呢,把它改成了什么呀。改成了employee,那你填的时候这块这个也得叫employee。站下边。Pass对应着HTML的name属性,它支持几点属性?OK,他要支持几点属性的话,过来我这个输入的实际上应该叫department的。
14:12
ID吧。看一眼。Department的ID应该这样写是吧?支持几点属性,OK,下一个这些都是正常的哈,我们就不说了,哎,类似于集合的叫form radio buttons,我们用到了items item value跟item label这三个属性呢,跟stra to里面对应的那个属性的道理是一样的,这里边我们就不详细说了哈。呃。Deter,这个是如果要是有多个单选框的话,使用什么进行分割,我们这个是并列的,你也可以给它换成什么呀,换成是这个用BR风格的,我们可以看一下用BR风格的过来。
15:02
这个吧,加ter看边保存看效果。哎,这样的话呢,就换行了。我们这个就不换了哈,因为我这块没有换行对吧,这块再换个行你就能看到。这样的效果。刷新啊,这样不就对了吗?是吧,就这样吧。然后是。Check box。Radio buttons,啊,Check box check box同radio buttons select option,我们不再一个一个说了哈,这个form errors是显示表单错误信息的,哎,我们在后边的话呢,我们会讲到它。好,OK。下面呢,要完成这个添加操作,那这个添加操作的话呢,实际上也应该是一个什么呀,也应该是一个。
16:02
ERP请求,注意是post。POS方式。破烂。CTRL啊,被CTRLC了是吧,再写一个public string save return,我们要通过重定向redirect去哪呀?去那EPS吧,上节课写那个是吧,At request mapping value emp request method点啊。Post请求。Post进了个什么呀,进了一个employee,我要执行保存操作。点save employee,这样就OK了。
17:05
找一个看看效果。刷新好的。MM。Mm eight硅谷点com。Female。部门呢,AA提交好的。看一眼mm mm female daa这样这个添加操作就。完成了对吧?我们来做一个简单的小结,看这个添加操作跟spring mvc的哪些技术相关。首先我需要显示目标页面。这个方法吧,诶这个里边我们特别需要说的就是,诶这是一个get请求对吧,这个呢跟什么呀,跟我这块这个POS请求相对应,这两个UI是一样的,第一个点,第二个点我需要在表单上显示部门信息,所以说呢,我这块呃在map里边加了一个部门。
18:16
第二个点,第三个点页面上我们使用了stemvc的表单标签,好了表单标签呢,需要注意的地方,第一个地方。Model attribute,就是说这个标表单标签想正常显示的话,我必须在请求域里边有一个bin,那个bin的属性需要跟表单的字段一个一个对应,有一个对不上的话,这个页面都无法进行显示。那。Model的这个默认值呢是command,那我现在给它改成了employee,所以说你在显示之前,这里边你需要加一个employee,我并不需要进行转账回显,所以说new一个employee就可以了,对吧?
19:02
哎,显示表单里面,哎,我们需要注意的啊,这个pass属性啊,还有呢,这个。Radio buttons跟这个select我们都用到了it这个用法呢,跟stra to。那个s label跟me的使用方式是一样的,这里边我们就不再细说了。下一个需要注意的这个department,我们这块怎么样,用的是一个几点属性吧,然后添加成功,哎,这块这个还是比较舒服的,直接搞一个EMPLOYEE1保存就可以了,好吧,这就是我们整个的添加,我们顺便这里面我们讲了spring VC的。表单标签,当然这里边儿有一些跟抓two相关的东西哈,我们把那部分内容的话呢,我们就略了,如果你需要去搞的话,可以看一下我们前面抓two的视频。
我来说两句