00:00
啊,Service层写完了,下边就写CTRL层法,在市场活动备注的CRL里边加方法叫保存创建的市场活动备注,那么这个备这个CR我们以前没写过,没写过在controller这个包下边再写一个controller。然后呢,这个右键写个control,然后呢这个叫IV叫mark,然后呢controller这它这个CTRLL层的类,这个地方要加一个CTRL出结。哎。CTRL,朱解,然后呢,朱解家长,那按理说你得让spring VC去扫描这个包,咱们由于写过别的CTRL了,Springc肯定已经扫描过这个包了,所以不用管了,你知道吧,然后呢,在这CTRL里边加方法就行了,那下边我加一个方法,这个方法叫保存创建的市场活动备注。然后呢,CTR存方法,按照咱们照例public返回值是什么类型的,对O接口,因为我们要讲返回阶算走串。
01:05
做一方object解,那在里边写方号名就行了,方法名建明注意叫save save叫correct activityiv,知道吗?Mark。这样就行了,然后呢,我们这个地方呢,它这个CTRL存的方法,将来来处理客户端的请求,处理哪一个请求,给它分配一个URL。那一个request mapping给它分配ul,那这个URL我们说不能随便写,要和他处理的自源路径保持一致,他处理的自段路径我们说将来他要返回到明细页面。所以他处理资源路径就资源,那就是这个明细页面,那要和明细页面的资源路径保持一致了,明细页面的资源路径那就在这儿呢,他的路径从哪视图解要找。对沃克奔驰,哎,对对,就这,所以大家有原则,所以你写代码你就有依据了,如果没有原则,大家看你说你写代码,你你这你你说这个UR教程。
02:05
你没法写,没法写,这个时候就有问题了,有啥问题,我我习惯这么写,他习惯那么写,那大家写的都不一致了,知道吗?不管语法对错,大家就写的不一致,你就那么以后到公司这嗯,但你以后到公司里边就不好维护了,这个代码就不好维护了。所以大家要有规则,按规则来写,我们这个规则就是就是这种URL要和他处理住房路径保证式。所以我们这个地方,因为做软件是一个团队开发,代码太多了,必须按规则写,不按规则写没法做,这个项目都做不下去了,知道吗?好,这是我们的这个就沃克位置,下边记续来艾克配合,艾克配合知道吗?然后下边资源的名称和方法名保护一致,然后呢表看一下,这样的话呢,我们这个UR电urd下边它要返回接近字符串胶囊加一个response,这样好下边大跟我们说,那在这个方法里边定义行参接收客户端传参数,那客户端传参数我们说两个note count,还有的ID,按理说定义两个参数就行。
03:20
但是我要再一想的话,我们不要把这参数分成一个实体的对象里边,所以我一会儿还得分工,所以我这个地方压根吧,你看这俩参数本来就属于实体对象,我在这就定义实体类对象的一个参数,在接收的同时就给我分工,所以我这个地方直接定义了activity remark activitymark这么个视频类,然后呢,这个地方定一个系盘。那在接收那两参数的同时就分装好了,那分成好我们又一看是吧,客户端传过来两个参数知道吧,这两个参数那我们后台搜入于需要的是那几个是五对,五个是六个参数,嗯,对,那那些参数是有一些客户端没传过来的,那我得自己生成啊,所以这个地方我得对这个参数进行二次封装,所以我们这个地方来二次封装,封装参数行吧,那封装参数的话,那那看看,那把我们要生成的参数也都放入对象数。
04:20
对,那有哪些参数,你看看,对还有一个对有个ID是吧?对,先看那个ID吧,组建ID。对吧,那那个ID那就什么是不是UUID了,对UUID这个UUID这个它点get u ID还有remark,还有什么对cur time是不是这么cur time当前系统实现,那转成字符串当前系统上,那既然是时间呢,那这个地方那个既有年月日又有十百秒所说那另一个data塔传过去知道吗?然后呢,继续remark.set可谓吧,可Y是不是当前用户,那得拿到当前用户,拿到当前用户,对从session里边拿那来获取session,获取session,那从session里边拿到当前用户点get推给来一个contains。
05:18
对contain,然后呢它来个section user,因为我们放的时候就用这个K,所以取到数也号,然后呢user所存,然后呢,这个墙膀一下就这样了,好,然后呢该眼睛累眼睛了,知道了。然后把这个user给他,那我们这肯定是保存的是user的ID了,对ID还有一个修改标记,对remark.set edit flag,那这个edit flag是零或者一是不是知道的,对那我们这个刚一创建肯定没有人修改过,没有人修改过是谁啊对零这样就行。
06:00
这时我们这样,其实大概像这种零或者一在加Y代码就一般不写死的,对定义成成了,你要写死的话,万一以后变了,到处都得变,所以写的常朝我们这个常亮写过吗。Contain点没没写过,没写过,那我往里边写一个往常量写点进来,在这再定义什,再定义一段啊,再定义一段常量,这段常量就表示这个备注的,就备注的修改标记,修改标记来备注的修改标记,那我们这个地方来一个public常量static static,然后呢,这个地方来个final,然后呢,这个地方来个spring,都我们都用字符串吧,那这个地方要备注的修改标记,那就是remark,对修改标记对editlo。那那第义一个变量是表示没有人修改过的,没有人修改那叫什么?或者叫no I,有no I it就没有人修改,没有人修过,值是基调,对零,零,那再定义一个有人用没对有人修改过,对yes用了这个地方或者叫Y也行用吗?Yes,然后呢,这个地方已经被人修改过了,然后呢,这个地方那就一了,懂吗?这个地方零是零是表示没有修改过,修改过,然后呢,这个地方一就表示吧有人,那么已经修改,已经被修改过,就这修改过,像这些一般都会定成成了。
07:51
这样以后改只改这一块就行了,所以大家这个地方,你看到了这个地方,我们就直接找了点哪一个我们这个地方。
08:00
没有人修改过,那就这个零了,就这。那你说我看他老师这么长,还不如写个零呢,但是他好维护,但他好维护啊,所以你到公司里边看代码的,会经常看到你这这种床。有的,现在大你们以前是不是大家不知道,大家用过枚举类型的没有,枚举类的没用过知吧,哪天我们给大家用一下,现在枚举类型的,现在慢慢的在公司里边,我看咱们有同学毕业的,毕业的这同学给我发过来那些代码,现在有很多同学的话发过来的都用代码里边用了枚举类型的,枚举类型枚举类型其实就是取代这种常量的,枚举类型就是取代常量,为什么要取,为什么取代它枚举类型要用枚举类型取代常量,因为枚举类型比既能表示常量里边的这些这些数据,而且枚举类型它的么功能更强大,知它甚至能把一个类定义成常量知,把一个什么在常量里边定义什么定义类,知道吧,把一个类定义成常了知。
09:09
这是这哪天我们给大家有时间,我们我给大家用一下,就我们这个阶段有时间正好多了一点,哪天找个时间我们给大家用一下,那现在咱们先把先把这个项目先做完再说,先做完再说,嗯,好,这是我们说的这样好,那这样的话,大概我们把这些参数都封装好了,参数封参数封装好,现在我们就来到这一步了啊,参数都哪那下边调用S号把数据保存下去了。所以我们下边然后呢这个地方来调用,这都设计好了,调用service层方法,然后呢保存保存创建的啊市场活动备注,那要调service上,这个叫注入进来service,那注入进来备注的service private,然后叫activity,然后呢mark service,然后呢这个地方activitymark service注入进来我们直接用all就行,然后呢直接调这个方法,然后呢这个地方来调过,那这个方法来一个叫save create activitymark,然后呢把这个remark传过来一下,从正好封装好的这个对象。
10:21
然后呢,得到一个影响记录条路,知道吗?这样的话,当然我们这个方法现在我们已经流程从影响写到这了,拿到影响记录条之后,下边第三个值责根据处理结果生成详细,那根据我们以前的设计,那如果是保存数据的话,那要对要考虑成功了20万,那也就说看看是不是报异常闹钟那报异常那什么踹一下就踹开始因为报没报异常我也不知道,所以我就么串一脚尝试一下看是不是报异常,这是我们这个,那如果报异常,首先把错误信息打过知吧。然后呢,大家我们再生成小应信息,那不管成功了还是失败了,我那我都要返回这么一个阶层,那都要返回这么一个阶层,那我要把它分成一个加构,对什么样的加构就行,对就是我们前面分包return of结口,然后那学们来看好不,这个地方来个return object object,然后呢,Return object对另一个这个地方来一个叫return object,那把这错误把这些什么响应信息都封到里边,那分数里边没异常,没报异常,判断结果是不是大于零,大于零我们就认为成功了,如果等于零,虽然没报异常,数据没保存,我们也认为失败了,所以我们这个地方来个扣,然后呢,这个是来个contain,然后呢啊点成功了,这个地方来一个对四个三还得返回谁啊。
11:57
成功了,除了返回成功的标记,是不是还得把这个对象也得返回啊?为什么要返回?因为我们在前台这个地方要拼出来这一条。
12:07
动态的追加权,所以还得把这个对象返回,那把对象返回怎么返回啊,是不是它里边专门往前台返回数据的一个属性,是不是这个return return data呀,把它放到这里不就行了,哪一个就把这个对象。这样就行了,将来一转成阶层字符串,那么就转成我们需要的这种阶层字符串。那当然我说他转的时候这个属性return,这属性叫return data,所以我设计这个杰森的时候就不能叫mark了,这个得叫啥?对,叫return data,这样给我们实际的一样,所以我在前台取到时候取这个属性就能取到,然后呢,刚刚添加这条记录的信息,取到之后我就在这个PE头就显示出来这一头了。
13:04
知道吗?好,这样的话,大看我这个地方就反过了,这成功了,Earth earth呢就失败了,失败了来这个地方side close,然后呢,Contain点二,那就是fail,还有访问失败的原因就是said message,那这个地方我们给大家一个笼统的一个提示,行,来一个系统王,请稍后重示,这就行了。好,这是我们说的是,那当然如果下边报一成了,报一程也是18的。然后把这个封装好的对象返回就行了,直接不会CR直接把它返回就行了,是这样的话呢,我们这个整个controller容易响了,知道吧。对这是这当那这样的话呢,我们这个什么control行了后台就行了,Micro service control都行,那下边写前台了。
14:05
前台网状从流程上来看就做两件事,发请求,处理响应。发请时有参数,收集参数,需要做表单验证,做表单验证处理响应是在回调函数里面处理。那我们首先来看什么时候发进。需求说的很明白了,用户在明细页面上面输入备注内容,一点保存按钮就发进图了,所以下边我们做的事就是给这个保存按钮加一个单击时间的功能。所以我们找来找保存按钮,这个保存按钮应该在市场的明细页面上。那我们找到它就行,它应该在最下边就这个看吗?给它加一个单击时间就行了。那加单实验给他一个ID了,这个东西来一个ID,那个ID你随便写了,我这个就直接的C叫create activ,然后remark是个按钮,Button,知道吧,那有这太长了。
15:03
其实不不不影响大家开发效率。啊,你要如果是随便写就C58这种之类的,这都不太好知道,这样写的话,贱明之意你知道吗?也不用刻意的去想,它有我命名一个按钮的名字,或者按命名一个方法名,变量名叫什么,不用刻意的去想,你看你定义它是干什么的,你知么?你把你那个思路想出了,想出来其实边想边写,想完了也写完了,想着想着就写完了,知道。就不知不觉就醒了,就这意思知道吧,所以你也不用刻意的,你说老师我要背你这个,你我要背你这变量名啊,你要这个方法名我背你了,这你咋背呀,我们做这些项目,我们命这么多命名这么多的东西,那那你咋背呀。等大家你要掌握这种方法是吧,想着想着就行了,就找了好这个地方来把它拿到,拿到之后呢,给它加个单机实间就行了,那在入口还是说统一下,嗯,加吧这个地方来给保存按钮,给保存按钮添加单击时间,嗯。
16:11
这单击事件,在单击事件,嗯,好,那首先选中保存按钮,拿到它的解块对象。然后呢,这个地方加单击是将来一个克雷克,那来一个雷克。然后呢,在这可列格里边加一个参数,然后呢,这个参数本身就是个函数表示,当这个按钮上面发生单击事件的时候,自动触发这个函数,我们把代码写在这里边就行了,写在这里边干什么?两件事发请求处理响应。那发起有参数,首先收集参数啊,收集参数的话,收集什么参数,就是你要发到后台这这两参数。那就收集吧,首先一个一个来收集是吧,先看这个,在先看这个备注的内容吧,这个内容我说最好注意在哪呢?是不是就是输入框里边这个Y6值就行了,那获取它就行了,来这个地方来那找这个输入框,这个输入框在哪看,应该也是在最下边。
17:17
在哪个地方啊?对,是不是这个东西啊,把它拿走就行了,他有ID了,获取它的Y6属性值就行了,那Y6属性值获取就是选择器拿到解块对象,有ID了,ID选择器拿到属属框的解块对象。获取Y6属性值掉VL,这样获取了,当然不止这种方法,当然这种方式最简单,所以我们也就这么获取了,定一个变量来解除它,我这个变量建名之意,我就叫not comment no comment是吧?当然我们说这个什么输入框是用户自己输的,他有可能不小心输上空格去空格。
18:00
好,这是备注的内容,就拿到了。下边来拿这条备注,他添加的这条备注所属的那个市场活动的ID怎么拿,先定一个变量来接收,这个ID值从哪呢?这个ID址。市场活动的信息大,就从刚刚那个。对,大家是不是就就是获取这个明细信息,这个地方就是这条市场活动的ID,这条市场活率,这条市场,这条市场活动ID的信息在哪存着呢。在那个对,在对这个页面而言,是不是带动作用里边存在的,对从作用域里边获取就行了,获取这一条市场活动的ID。那怎么获取做获取作用运转数据,现在在页面里边获取作用运转数据ER表达式,也就是说给你上面获取明细的数怎么获取的,你在这个东西怎么获取。
19:04
那在那么在上面怎么获取一表达式等一表达式,你看这是我们上次做明细,查看明细的时候是这。那以前显示的是获取别的属性,现在我获取这个市场活动ID了,那这个地方什么要获取市场ID这个属性。好,这个地方可以说啊,然他这个地方到时这是市场路获取它的ID,那就啊,这是我们是这。获取在这个页在页面当中,JSP页面中获取纵域里边的数据。然后呢,用一尔表达式,哎,那有的同学就说了师吧,哎,老师,我们这个一儿表达式怎么还能用到这里边呢。这是GS啊,EL表示不是用来显示的吗?显示的那个不是放到包标签里边吗?直接获取到就显示的页面吗?其实大概E表达式,只要在页面里边GSP页面里边任何一个地方都可以用EL表达式。
20:03
哪怕你在GS代码里边,你别怕,哪怕你不在GS代码,你在这里边都可以用一二顿老式在这里边都可以用,甚至是什么你在这儿整个页面都结束了,你在这儿都能用一二个小时。随便用,只要是在GSP页面里边,D表示到处可以使用。那只不过那你说老师,我我好像我印象中页表示只能在包标签里边,那是因为你以前获取的数据都要显示到页面上,你才在包里边用的。为什么?因为包标签里边内容是不是都是用来显示的页面上面呢?对,包在外边的内容都不会显示到页面上,就这个意思。所以大家以前从座位里边获取数据都是为了显示的页面上面,所以大家用什么,所以大家这么大家给大家造成一个印象叫什么一表达式只能什么用在body票车里边,可不是这这。
21:03
E表格式可以在任何一个地方用,包括在JS代码里边,也可以用JD。这是我们设,那大家再一观察就发现什么,以前我们E表达时,在body标签,在body标签里边直接用ER表达时,你可直接这么写,诶他就把内容取出来显示到页面上了,那你在GS里边用一表达式。你为啥带一个引号来看。不带引号行不行?不带引号行吗?我要不带引号的,这样也不报错啊,你看看。对,为啥带引号,我不带引号行不行,不带引号不行,不带引号对,不带引号不行。为什么不行?但是你想一想,JSP执行的原理是什么?你想想。
22:00
根据我们以前给大家讲的一个GSP页面要运行的话,是不是首先在后台服务器里边先运行一下,对JSP的运行原理,我们前前面让大家复习过知道就是这个叫GSP的运行原理,GSP页面的运行原理大家可以看一下运行原理,它怎么运行呢?是这样一个JSP,首先什么这个JSP,假如有一个假如我就举个例子,叫什么什么的什么什么的一个JSP什么的一个JSP啊。这样那这个GV运行的时候,它就开始运行了,最一开始首先在这后台抛开中运行运行知道吧,那在后台com开里边怎么运行呢。JPI。是不是一访问它,或者一跳转到他这个页面,会首先这个JSP会首先翻译成一个Java代码,翻译成一个sorry,是不是这样的,它有个翻译过程,首先把。
23:04
然后呢,翻译成一个一个一个Java代码,其实就一个特殊的so。就是就特殊的一个sorry,知道sorry,它跟sorry就特别像,翻译成一个sorry,那翻译成sorry sorry是加过代码啊。知道吧,翻译成这个sorry,那翻译成sorry,然后然后怎么办呢?那这个sorry就开始运行了,运行sorry,运行sorry。知道吗?那运行service运行什么,运行service那怎么运行的,就是把service里边那个什么。那个service那个方法,或者叫do get do那个方法给他执行了,执行的过程当中,它会产生一些动态数据。那产生这些动态数据干什么?最终的结果,这个server的运行的结果,就是给你拼一个网页,跟你自己写的server一样,跟你把运行出来那个什么,那各种标签,以及你生动态证的那些数据,以HT猫网页的性质,通过流输出到什么浏览器知道吗?所以我们这个地方,然后呢,运行这S所有的运行的结果,运行的结果。
24:19
就是结果,结果是一个HTML的一个网页。HTM的一个网页,这个网页是什么样子的,那你看你这个JSP这个包里边,或者你这个JSP是什么,它里边有什么,把这些要显示的这些标签都以A天B网页的形式返回到前面。输出到前台运行出来就是一个网页,然后把什么把这个什么al网页网页输出到浏览器,这是一个JSP页面,在首先在他不开的运行的时候,在他不开的后台运行的这么过程知道吗?
25:02
后台运作,那这个网页输入到浏览器了,怎么弄这个网页输入到浏览器了,那这个时候呢,大家看我知道吗?这是我们说第一步,这是第一步。这JSP运行到这是第一步知道吗?然后这个什么网页输入到浏览器了,那这个浏什么浏览器就会运行这个A天猫网页了,它的第二步是在浏览器上运行,那在浏览器上就在客户端运行,所以大概一个接子变面先在后台运行,运行的结果这个网页输入到浏览器,然后再在浏览器上面运行,在什么HTL网页,HTML网页在浏览器上运行,运行啊在浏览器上面运行,那在浏览器上面运行的是是怎么运行的,它是按这个网页的顺序从上到下依次运行。
26:02
上面先运行这些,再运行这,再运行这些,然后到后边再运行这些,其实这就一个什么页面加载的一个过程。从上从后台把这个网页从上到下依次输入到浏览器,输入到浏览器,输出一下,在浏览器上执行一下,输出一下,执行一下,这就是页面加载的过程。然后呢,一直往下边执行,执行这个GS。嗯,这个地方如果有入口函数,当整个页面都加载完了,再执行入口函数,如果没有入口,如果没有入口函数,那我们说在上面就先往下边执行,就一直往下边执行,知道。在这我们是这这样是吧,所以说大家家这个地方,那在接在这个浏览器上运行这个网页,那运行这个网页怎么运行,从上到下是吧,先是吧,这样先从知道吧,就是先加载,先加载什么加载页面HTL网页先这样从上到下到下加载HTL。
27:15
网页到浏览器,到浏览器。知道吗?然后加载的时候其实就运行了,你知道在加载过程当中,在加载过程中加载了哪些代码,就运行哪些代码,就加载过程中,然后呢,来这个就运行了这些代码,运行前面代码。加载到哪儿就运行好了。那都加载完了,最后执行,当页面都加载完,当页面都加载完成,都加载完成,然后呢,再执行执行,如果有入口函数,就执行入口函数,入口函数入口函数就GS代码知道吧,这是整个过程知道吧,这是HT,这是GSP网页,它的执行的过程就是。
28:09
那只要这个过程,大家现在我问你这。这是一行代码是吧,这一行代码,这个代码,这一行代码其实大家看。它划分两部分,哪两部分后边这一部分是值,这个值是负责什么,从作用域中是不是获取这个市场活动ID啊。获取市场功ID,然后呢,整个这一部分值是干什么的,把这个值定一个JS变量,是不是赋值给他。不是就这个代码,那现在我我我问你了,这两部分代码是先执行这一部分,还是先执行这一部分。是先从作用里边取数据,还是先定义这个变量?是不是先取数据啊。
29:02
线入那取数据,我问你了,为什么先取数据呢。这个。这样吧,我问你取数据这个什么,从作文里面取数据这个过程是在前端执行的,还是在后,是前台浏览器上执行,还是在后台淘CAD上面执行的。这两步在哪实行取数据这个过程。后台为啥在后台知道呢,因为。对,你想从作用欲里边取出去,什么叫作用欲?就是那四个什么对象,哪四个对象。Page contexttest request session和application是不是这四个数据啊,这四个变量,四个变量大哥变量是JA变量,Java变量,Java运行到哪,是不是他们看到运行到后台,所以它从后变量里边取数据,你说他从页面假如说他,你要是假如他从从浏览器这上面执行。
30:05
浏览器里边有这四个变量吗?没有,所以说从作用率里边取数据的代码,这个动作是发生在后台,发生在后台就什么肯定是发到第一个阶段,其实在哪执行,就是在在这个地方从作文里边取出去,取出来之后把这个数据封到这个网页里边,拼到这个网页里边,其实就在这一步,就什么这个数据已经取出来了。取出来之后,大概现在我问你这个,假如这个地方从后台取出来了,然后呢,这一行代码,就这一行代码是在服务器执行的,还是在浏览器执行的,浏览有浏览器,为啥浏在浏览器执行的,下载对页面加载之后,首先它是在做在入口函数边执行,是不是这样的,再一个它还是一个什么GS代码,GS代码是在服务器执行还是在浏览器执行,对GS属于前纯前端技术,在浏览器执行,明白这个意思吗?所以它是在浏览器执行的,也就是说这一个定变,定义变量,并且把值附到这个,复制这个变量值,这个代码的这个动作执行的过程是在哪,是在浏览器进行的,具体到在哪一步,其实在入口函数里边执行。
31:16
在这一步之中。所以我们刚才说的那一段代码,一个从作用里边取数据是在这个执行的,然后呢,定义变量,然后是在什么JS变量是在这一步执行的。他俩一个是什么,取数据的时候,也就是换句话来说,也是当执行这一行代码的时候,这个这个值是不是已经从后已经从作文里边取出来数据了,这个已经是数据了,那这个数据其实取出来是什么,就有32个字符串,就是32位字符串。但你想一想啊,对这个GS变量,给它在这个代码定义这个变量的时候,给它赋这个值的时候,这个已经是32位字符串,是不是这样弄32字符串,如果你要不加引号,这是啥?
32:07
现在。对,浏览器认为它是啥,它可不是字符串,它是啥变量,浏览器只要拿到这么一个东西就叫做变量,就把它当做变量来处理,他不认为这是个字符串常量,这是个变量,这个变量你前面定义这个变量吗?没有没有,它就是安范,所以你将来它得到值是个安方,所以这个ID取不到。但是如果是我这个加上引号了大成,那意义就不一样了,浏览器把它当做什么对字符串,就把这个什么ID值复制给他了。所以大概我们这个地方必须加引号,如果不加引号这个地方就错了,所以我们这个地方必须加引艾点ID,大家明白这意思吧,对,所以大家我们说这些原理,大家现在慢慢的种都是大家学过的,你要理解每一行代表你要理解一点都不带,不带有行糊了,那你要有行货以后自己做的话就没法做了,那你们那你说怎么没法做,那就像我们这个到底加不加引号啊,加还是不加,你说是吗?那你说我背下了,你背下来,你我要么加,要么不加,你背着背着是吧,你就背反了是吧。
33:25
你到到底加不加你就不知道了,知道吧,这个东西不是背的事儿,是你要理解的事,而且这个地方是这样的,以后还有别的地方吗?要么这么做,要么那么做,两种选择,所以你必须从原理上理解,你才能说以后做的时会做,知道吗?这是我们说到这个地方好,那这个参数我就拿到了,那继续拉来了,参数拿到了,那这个时候要把这些参数发到后台,那发到后台这些参数必须保证是合法的,那保证合法的话,那我们先做个表单验证,表单验证哪些验证需求说的很明白了,备注内容不能为空。
34:04
备注内容为空点保存不让点,那你来看看备注内容是否为空,如何判断备注内容是否为空?对,跟字符串空字符串比一比,如果等于空字符串,这个地方告诉他备注内容不能为空,知道吗?然后呢,后边代码都不执行了,直接了知吗?好,这时候我们要说的知道。啊,那如果不为空不为空,这里边进不来,进不来就往下走了,那不为空就是合法的合法了,那就可以发动后台了,那这个ID你说咋不严重,ID不是用户输的,这个数据是我们自己的数据。是我们自己从作用里边取的数据,所以一定是合法的,所以不用验证了,下边直接向后台发请求就行了,数据都是合法的,就可以发送请求了,那根据我们的设计对吧?那这个异步请求,那发异步请求到了二符号发贾格斯这里边传了一个对象,这个对象有个URL,那这个UR就是咱们写的这个ul,就它把它拿回去行了,然后呢,这个地方对发过了,然后呢继续来,然后呢,这个是来个这个来个data,然后呢,这个地方来,然后呢这个data塔,那就把你参数传回去了,那这是参数吧,一个备注的内容,参数名,参数值,再一个这个地市场所属市场活动ID,参数名,参数值直接拿就行了,这样的话,我把两个参数传过去了,传完之后下边来个type请求方式,Type这个POS,然后呢,这个地方来个data塔,Type来一个。
35:46
响应信息这个接存字符串啊,好,这样前台的第一个指责就做完了,当用户一点保存按钮,向后台发这么一个请求,下边第二个指道处理响应,处理响应,那这里边有个data接收响应信息,这个响应信息我们说就是这么一个杰森图符块啊,就这个杰S图,那这个杰S图那就看成功了还是失败了,那你看看吧,大家看看这解析杰森渲染一面,那就来看贝塔点Q的,如果等于一,那就成功了,成功了怎么办?
36:22
你看需求说的跟我告诉我们了,对,首先这样清空输入框,把这个框先清空了,就这个框,这个框里边内容先给他清了,那清了的话,这个地方来一个清了,那找那个框,那个框是谁呢?对,就是他知道吗?清空他怎么清空。就给它写对,就给他赋一个空值是吗?给他负个空值就行了,负空值在这传输参数就是一个空字符串,就这下边还要对刷新列表,刷新列表根据我们的设计这个地方,我们动态的拼出来一条追加到这就行。
37:09
对,拼出来这一条,那我们来看看这一条是什么样子,根据我们以前经验,一条是不是一个div啊对,把这个div拿到哪一个地方呢?就这个div找一个,随便找一个div就这个,这一条就是一个div ctrl c,然后呢,把它拼出来,把它们拼到一个字符串里边,当然里边的数据都从这个委特data里边取。拼到一个字符串里边,然后把字符串写入到这就行了。那我们来看啊,那拼到一个字符串里边,拼到字符串里边,那首先我这个地方定一个字符串了啊,定一个字符串,这个地方来VR随便先定一个字符串,我就叫HTM2ST2首先是个空字符串。然后把里边东西,里边这些内容全部拼里边去。拼音这边打拼对加等于用引号把后边这些括起来,然后。
38:07
然后呢,在一行一行的都往里边拼,拼拼拼拼,这时拼起来,拼起来,拼起来拼起来拼起来拼起来拼起来后边拷贝,然后呢,都给它拼起来。破去了这个地方,然后呢,这个地方来对破去了,破去了。啊,这个地方也括起来,再来这个地方括起来,括起来,对这个括起来。这括起来括起来,括起来括起来啊,那当里边数据都是不是都从data塔里边取啊,让他取来看看哪一个一行一行的别别落下,任何一行别落下,首先第一行它有没有动态数据啊,没有没有,但是它里边有些双引号是不是跟外边冲突了,对转移一下转啊,你老改都改成单引号可不可以,对也行是吧,那既然美工用双引号,咱们也用双引号。
39:06
好,然后当第二行,第二行就那个图片,先把里边双引号都给它转移一下,要不然它总报错啊对,然后呢,这个地方都给它转移转都给他转,然后呢,这个地方给他转了知,那这里边是不是有动态数据啊,哪一个动态数据啊对,就是这个名字,这个应该是创建者的名字,鼠标一放到上面,创建者名字从哪取。对,有同学说老师从这里边取,它边有个可谓的班,可不可以,不可以,为啥呢?对,它里边也有可贝班,但是那个可视班是存的是创建者的ID,因你老师你怎么知道创建I,因为我在这个封装的时候,里边保存创建者ID。那怎么保存呢?当然我们这个代码你看怎么保存的,你看controller这个地方来一个怎么保存看啊。
40:00
创建者大卡是不是保存ID啊ID,所以大家将来你转成阶层字符串,这里边也保存的可瑞的。也是保存创建者的ID。那我们这个上这个创建者ID显示不行那吧,所以大概我们这个地方直接从瑞return data里边取不行。那这个地方创建者,创建者这个地方应该显示创建者的名字,那就创建名字从哪取,对对是不是从创建者是不是当建用户啊。当前用户大概是不是在session里边存着的,在做用里边存着的,所以当我在这个页面里边,从session里边是不是可以取到了总值,为什么从30分可以取到,在监督页面里边,只要放入作用率里边数据只要在它的范围之内都可以取。所以从三任里边直接取当前用户的名字就行了,因为创建者就是当前用户的名字,所以只需要从三边取当前用户的名字行,那从三这边取怎么取,对session school取当前用户,当前用户那个key叫啥?你说老师那个常量,那个常量现在在页面里边不能用长。
41:11
所以我们自己得写我们以前起的叫他这样的话,取出当前用户那个对象,我想取他的名字,怎么取对,找那个当前用户。所以这是我们给他说到这这一行我们就写完了,下边打上这一行,这一行没有动态数据,直接把双引号转移一下就行了,这时候我们来这样,下边再看H5里边,H5标签里边是正在添加刚刚添加这条备注的内容,这条备注的内容从哪取啊?对,是不是data塔里边已经返回了,从这里边取就行了,那由于data塔是GS变量,我要执行GS变量,是不是得把这个字符串隔开了,对什么先加一个双引号让加加对塔里边取取谁双引号是这意思啊,这个双引号好像输入法不对是吧,这样对这。
42:10
是不是data塔里边是不是取这个return data啊,因为那个备注内容在这告诉,所以这个地方来一个叫data点叫return data取它里边的谁呀。备注的内容那个属性是不是这样的,对备注的内容叫note,看到没有,这这是背光内容。我不这么写的,我这样写行不行,这样写行不。因为这样写它是啥,它以接自变量,哪接自变量在哪定义着呢,往上找,嗯,这。你说这个从哪取的,这就取刚刚添加那条备注一点保存,保存,到时候一点保存前面输入那个备注内容。对,那这个变量,你说老师这个变量怎么能在这里边用呢?可以吗?对,可以,为什么?对,它是这个函数的一个什么,对局部变量只要在这个函数范围之内都可以用,我们取出来之后,在这个地方向后的发行不就用了吗?
43:14
所以处理响应的时候,也可以直接用这样写,是不是也可以的,对可以也是太应内容,大家从流程上来讲,这个内容是谁呀,取到他之后发到后台了,其实就谁呀,就这个参数看到吗。发到后台之后,封装这个对象,这边这个对象转成接单头转是不是这个什么,这个内容也是作为它的一个属性值访的潜在了。其实返回到这个return data里边,这个备注的内容就是从这个参数传过去的,他俩本来就是一个同一个数据,都是用户在框里边输入的那个内容,大家明白这意思吧。能理解吗?对,可以啊,这个,所以大家有这种流程,你一定要能分析出来,这个流程里边所有的数据从哪来到哪去的,大家一定要分析出来,这个我们做这个项目就是这样,每一位同学都要能跟上这个这个思路,你要跟不上思路,以后到公司里边做项目还是麻烦。
44:17
还是麻烦你早晚都得掌握这个技巧,就是这这种这种思想,所以我们一直给大家强调这种这种思想。好,这是我们这样这样写也行,让我说我们说这样写也行,但我这个地方,我为了这个思路更清晰,我就这样写。从后台返回,好,下面呢,我们继续来看,来看下边这一行,这一行是主要显示这些数据的。这些数据大家看吧,首先大家看这是一个这些先把双引号给转移,然双引号转移转移,然后呢,这个转移转移。然后呢,后边来可能。转移转移。所有的专业号都转移。
45:02
好,这没有了,没有了,大家我们一块来看这些信息,首先在这么说,这条备注属于哪个市场活动,这是市场活动名字,这个市场活动名字从哪取?这条备注属于哪个市场活动呢?属于哪个市场活动呢?对,就是当前这一页是不是这个市场活动呢。那这个市场活动信息是不是也是在作用具里边,直接从作用这边取就行了,怎么取一二表达式就是这么取,这个代码是不是不用变了,这个代码就不用变,取当前这一条市场活动的名字就行了。知道吧,好,这时候我们这样下面继续往下边走,我再看。这一个地方是表示那个时间的。以前我们查询的时候判断一下有没有人修改过,有人修改过修改时间,没有人修改显示创建时间,那这个地方显示什么?对,直接写创建时间是吧?创建时间从哪取。
46:00
是不是return data里边取啊对直接送上去,那取的话把它什么隔起来,这个地方叫什么,叫我们的data表,Return data创建时间叫什么对贝。这是好好这个是吧。双引双引号,这个双引号就不对啊,看啊这个这个输入法啊。多了一个,然后呢,这样这样就行了,创建时间啊,大家看后边是不是有个创建者的名字,有谁创建这个创建名字做上去。对对当前用户是当前用户在哪呢?对30个是不是从30边取啊,对30边取还是一二到十从30边取就行了,然后呢,直接直接直接取sessionco.session.name。
47:10
后边的这俩字显示什么呢?对,就显示创建俩字,刚刚创建的嘛,所以我们给它拼起来。直接俩字就行,也不用放到一二表达式里边,好,这样的话,大概我们这个地方这一行就拼完了,这一行拼完下边这一行,这一行首先把这个什么双引号都给它转移了。没。这个双引号转移了,然后呢,再往后找,还有那个这个双引号转移了啊。好大看下边这个,这两个就是两个图标了,这是修改图标,是删除图标,首先把它双引号转移转移转移转移专业专业专业。然后呢,这个地方继续来转移转移转移,然后呢,这个地方转移,就这样吧,好,这是。
我来说两句