00:00
后台代码写完了,下边就写前台了。前台我们说了,从这个流程上面就做两件事,发请求处理响应。发请的时候需要有参数收集参数,需要做表单验证,做表单验证处理响应一般来讲都是在回调函数处理。所以我们这个地方下边我们写,首先来看发请求,什么时候发请求,根据咱们刚才分析,三种情况都可以发请求,第一种呢,当整个页面刚一加载完查询所有数据的第一页。第二个当一点查询按钮,查询所有符合条件出的底页,第三个当切换页号或者切换每页显示条数的时候,根据切换的结果显示相应的这些情况列表和总条数,知道吗?所以我们一个一一种情况一个往下看,先看第一种情况,当整个页面加载完,去查询所有数据的第一页和所有数据的总条数,那我们来看这个请求怎么去发。对,来到这个JSP,当整个页面加载完发请求,那发请求代码我应该写在什么地方,写在哪个地方。
01:11
对,写的入口函数时是不是这样的,我们说入口函数,当整个页面加载么,就执行我们入口函数代码,所以我就写在这里边就行了,写在这里边干什么,就我们写这个,当整个页面整当市场活动主页面加载完成的时候,我就要显示所有数据的第一页以及所有数据的总调数,那就要向后台发请求了,查询所有数据的第一页以及所有数据的总条数,那这个地方发请求,那么首先有参数收集参数。知道吧,那有老师所有数据,那没有参数,没有参数这个代码我也得收集一下,为什么?因为这一段代码我以后要复用它,那有老师你收集他没有参数,你收集那不带参数了,我只不过没有参数,收集的是空的,那么由于我后台写搜数据的时候,我对这些参数我都判断了,如果是空的,我就不根据他查是不是即使收集,即使是空的,我也不会影响我的结果呀,这样对,所以那这个地方我还是收集参数,收集参数。
02:12
虽然这些查询条件现在是空的,我收集的是空的而已,我也收集一下,这样我这个代码以后可以复用是吧,那那这些参数有哪些呢?那就这四个参数,四个参数。名称所有者,看日器,结束器,那就收集吧,那收集咱看看这个列表,看看这是模特窗口,不用管啊,来找找这查询条件,这是这模特窗口不用管,模特窗口默认不显示查询条件的,哪有查询条件,这摩托窗口都不用管,这是查询条件。这是哪个,这是名称,就这个查询条件,那这个名称大纲,我要收集这个什么输入框里边内容,对给他一个ID,这个ID我就假如说就叫query,诶这个东西诶。按到哪了?
03:04
哎,这个这个按哪一个。找谁看找我们的这个是吧,找这个啊,这个不小心按到这个键了,嗯,这个就是你们把这个键盘给别的班,这个键盘布局不太一样,不太一样,这个键盘嗯啊,那我们来这个地方来一个啊,那这个地方来个宽RY快RY给大来一个值这个什么市场活动名字,当然以后所有者是不是都给他加上,都给加上这地方来一个叫什么都建明之意知,当然这名字你随便起,按理说美工就给你加好他这个美工做的也不太,也不太合适,也不太合格,你看这些对这这得得扣钱,这行真的嗯啊最起码你得受批评,知道因为你这给程序员造成多大的这个这个麻烦了,就你耽误人家的工作时间呀,啊正常这些ID加上啊,正常这些表达ID都给你加上,对,都给你加。
04:16
当然了是吧,因为我要获取他,对咱们他这个咱们买这个应该这个项目组应该是个经验不太丰富,知对对他经验不太丰富,他要经验要丰富的话,程序员写代码很好写,因为大家都按规则写的,你看他很多地方都没按规则,嗯这样,所以那我们来获取值呢,获取的。名字或许拿到结果对象或取他值是不是VL啊对VL,然后定个变量把接入那用哎你们这个他自己输的需要去空格吗?这个不需要查询的时候不需要就查询那些关系,他不需要不小心带个空格,带个空格大不了查不出来数据,他不会改我们数据库格数据。
05:02
他如果写我们数据,管数据必须去公众号。啊,如果是如果想要带空格了,那我以后我所有的操作都这么受影响,但他查他不小心带了,不小心带了大不了查不了数据,他不会把我们系统里边数据破坏,知道吧,所以查询到时候一般不需要去控边,不需要做表单验证,他不合不合法,不合不合法可能数据查不出来,但是对于我们系统里边数据不会造成破坏,所以我们就种不去控模,不做表白验证,好这是我们这个地方下边还有一个,还有一个所有者O所有者,然后呢点2VL,嗯,这是所有者,然后呢,这个地方来一个VL叫什么所有者O这个复制了这东来一个还有谁啊对这个对start date,嗯,啊start date date,然后呢,还有一个对in the date,然后呢这个地方来一个in the date。
06:05
好,站停来这三个参数,这四个参数都达到,当然我们后边是不是需要六个,除了这四个还有哪还有啥?对当前页号page number等于几啊,这种第一种需求等于几啊?对显示第一种需求吗?显示所有数据的第一页他是告诉你了吗?所有数据的第一页page number是不是等于一啊,对第一页,然后呢?Page size等于几对十默认十默认每页显示十条,这个地方其实需求上我跟我说了,默认每页显示十条。明白了吗?对这样这样四六个参数都拿到,拿到之后呢,不需要做表单,因为查询数据不需要做表干什么,对直接发送请求,直接把什么发到请求去什么去查数据了,那发请求怎么发。
07:14
对,根据我们的设计是个异步引流,为啥异步引流咱们也有原因是吧?对,也有原因,那这些是吧,我说每一步都有原因的那一调阿贾克斯这个函数,那这里边是不是给他传参数,对传参数这个参数是个大括号,大括号在GS里边叫对象,在JS里边也是对象。啊,哪一个哦,那那是第二个需求,第二个需求我现在先不考虑了,我先考虑第一个需求,当整个页面加载完成,显示所有数据的第一页,我先做这一个需求,明白吗?对这然后呢,在这里边这要传参数了,那传参数参数传参数吧,这参数有个什么?对,有L,然后呢,这边有个地址,这个地址写谁呀,对,好长一块就找我们这个桌了,就这个地方把它拿来就行。
08:09
然后呢,CTRLC拷贝过了,找到我们这个页面,这个页面就好,然后呢写到我们这就行,对啊,因为我们前面加上贝次标上都是从贝词标上去找这个,然后呢把这参数放过去,这些参数就这样,哪些就这些,这一个name参数名参数值,然后呢,这个地方有一个O参数名参数值,这个地方参数值,再来一个star这参数名参数值,还有个A这参数名参数值。还有page number、参数名、参数值。然后呢,还有配size参数名,参数值,我们再给大家强调一点是吧,这些参数名理论上是不是可以随便写的得随便写,但是呢,实际上呢,对要和后来肯出了这个方法里边的对接收的这些行参名是不是保持一致,这样的话,这边才能接收到这样。
09:17
所以这是我们说到这,那这样的话呢,我们传过去,传上去之后下边来个T,然么这个地方来个posts post,现在大家先用postose,为什么用posts,后边我给大家解释,有时间我再给大家详细的说这个,然后呢,下边来个data type响应信息,是不是一个杰森啊,对杰森这样就行,这是前台的第一个指责就完成了。对,当整个页面加载完之后,向后台发请求,第二个知道处理响应,对,在回调函数果处理success,这里边有个data,用来接收响应信息,是接这个响应信息是什么?就这个,就这么接近字符串看吧。
10:01
接着就上两个数据,一个是数组,一个是整整数值,对,那这个得塔就代表这个大对象啊,那就是获取它的值就行了,一个一个获取吧,首先获取到这个数组之后,将来就什么对对循环,每循回来一个条记录,是不是在这里边加一横啊,加一横你知道吗。循环完都加上了,还有一个把这个总条数是不是显示到这个地方就行了,知道吗?其实就干这两个是吧,下边我们来显示显示,先显示这个吧,这个最容易啊,先把先把三个最容易的做了,然后再做这个稍微复杂的,先把总条数获取到显示到这个地方,来看看显到这个地方总条数是不是能拿到了,怎么拿,Data的点叫什么,偷偷漏把它显示到这个地方怎么显示。对对,那你看看这个地方在哪啊,这个地方在哪,50共50条,那往下找呗,对搜一下找谁呢?对50好多50是吧,你看那那再再加一个是吧,50条有没有没有是吗?那这这为啥没有吗?啊收条啊横收条,你加上他这个50为啥没有,他加了一个什么对B这这个B标B标签干干什么用的,对加粗的加粗,嗯,那我是不是就把这个B标签里边这个数字给它替换了就行了,咋替换对拿到B标签的解块对象掉里边的是么。
11:43
对,把里边标签体里边内容变了咋变。拿到解块的地方掉点HTM2或者点T的是不是就可以了,对这样就行了,那那么拿到它解块地方是不是得通过ID呢?这ID这个地方随便来起个这个给他ID随便起个名字,我就叫total,对Rose total Rose b标签那个B就行了,然后呢,来获取到它,把它里边值给他替换了就行了。
12:10
啊对不用不用杀,不用删,我这方给他设置一个值是不是就把它覆盖了,对把里边内容覆盖覆盖了嘛,它这个地方那叫什么来获取到值是ID选择器B标签,把里边内容改了,对点叫什么T或者A填面是不是都可以啊都可以,然后呢,你要替换成什么值,把你的值传过来,为什么加B中啊这样的用户一看出吧,前面是名字,一看是个B标签,那我就知道哦,这是一个B标签,讲我一看到这个什么选择器,一看这个ID,我就知道它是个B标签,嗯呃,你你大家我们以前给家讲给给一些八寸按钮加ID后边都加了什么,这叫八寸,这是八寸的缩写是吧,我要给一些超级链接加一些ID叫种得加个A,这就这大家这种就是你要不加,当然从语法上来讲也没问题是吧。但你。
13:11
加上大家都好看啊好,这样的话呢,我们这个地方来显示总条数,这样的话我们就显出了,显示好之后,下边来显示列表了,显示市场活动的列表,那显示列表再看怎么显示,对,是不是我要变利这个数组了,对变利这个数组每变出来一条,这个地方是不是要加一行啊。那怎么加一行,但每一行都是列表,里边是不是一个TR标签啊,里边有很多TD,是不是有很多列呀?对,那每变成一个市场活动,我拼这么一个TR,拼这么一行,然后把这些行都拼到一个大字符串里,然后把那个大字符串显示到这个列表下边就行了,大家明白这意思吧,对,这所以下边我叫便利,便利那个list便利,对。
14:11
便利这个什么叫activity list,那来显示啊,显示这个拼接网拼接,那么就拼接所有行吧,所有行数据就这吧,对那说对那那变历咋变历呢?Each对Dollar for点什么each,哎,你说老师咱们以前给大家让大家看的资料用GSTL标签,GSTL标签也是在GSP里边做便利的,你这个地方咋不用GSTL标签便利。所以在GSP里边可以有两种便利方式,一个是这是解给我们提供的便利方式,还有一个GSL帮我们提供的叫一标签来便利。
15:03
你这个地方咋不用式标签,这里这边是。对,这里边的数据,这是什么大,对,这是什么?对,这属于GS变量,他们不,他们有GS的局部变量嘛,我们写的GS代码吗?他们不是作物里边数据。所以遍利GS的变量用解块位这个一齿函数,因为什么?因为解块本身就有GS,知道吧,那我要果便利什么从CTRL里边往作用域里边放的一些例子的放了一个数据,作用域里边的数据用GSTL标签,GSTL标签是跟EL表达式结合用的,它主要用来便利作用域里边的数据。然后它不能便利GS变量遍历。GS变量只能用。倒热佛一,所以我们用它用它变论,那用它变力怎么变立呢?
16:01
这对对,它里边有两参数是吧,你两个参数,第一个参数指标示什么含义,对,你要变利是哪一个数组是吧?那我要变利哪一个数组,Data塔里边的那个叫什么,Activity的意思是不是账篷,对,就是反回就就这个数度,对就这个数这个哎,这个单词错了是吧?就activity啊activity是吧,这。这是我遍历的是哪一个数度,这个数组是杰杰中串,反过来后边还有个函数,这个参数什么含义啊?对,表示一个函数叫函数,叫回调函数,诶你说老师很奇怪呀,那函数怎么能作为参数呢?在GS是弱类型的语言,GS里边函数能够跟变量一样,可以随时进行传递,可以跟变量一样传递,好这是我们说这个参,这个参数我们以前以前给大家讲过,这个函数里边,里边有两个参数,对,一个是啥I或者叫inex,它表示什么含义啊,对便利的下标,它是从零开始,将来它会从这这个Li里边每取一个元素执行循环变量,这不是执行这个函数。
17:21
执行的时候,这个index次就是每取一个执行一个就是便利一次的,每取一个便利一次,它是表示便利下标第一次取它是零,第二次取它是它是第二次,对是一,一次往增加,直到整个数度长度减一,知道吗?啊,这是我们说这它零后边还有一个参数,这个参数什么对,这个object object object布是什么含义?叫做循环变量,对表示从这里边每拿一个元素就放到这个变量里边,但这个变量名你随便起,叫啥都行。啊,我们一般习惯叫后壁近在我们这个地方,就是从这个数组里边每哪每哪一个元素放到这里,那我们这每一个元素是个什么。
18:00
其实是个市场活动的实体类对象,对,放到这里了啊,这是文章,当然我说在这个函数里边还有个内置对象吧,这个内置对象是什么?This是吧?This表示什么?跟obj的含义是一样,循环变量从这每拿一个市场温度放到这,同时也放到这里边,那你说放到这里边,放在这里边有什么用?它将来每取一个直线中央体,我们就可以在这里边写我们介。写的时候干什么?可以从this或者OBG里边来获取每次辩论这个对象的一些数据。那你说老师到底以后在这里边如果用到这个,每次变成这个对象的数据,我到底用this还是用OB,理论上用哪一个都行,对,一般来讲,简单数据用这,复杂的对象用obj。当然,理论上用啥都行。好,下边我们就写这个函数题里边内容,我在这个函数题里边,从这里边每取一个对象放到这里边执行一遍循环题干什么?拼接对,拼接一行是不是这样子,拼接行拼接哪一行拼对,对就是美工已经帮我们写好了一个两个例子了,这是两行,把那两行拿过来就行了,拿过来吧,往下找美工写死的这两行,大家这是那table表格,这是表头第一个是拆boss啊,然后这是美工写死的两行,先给他注释掉。
19:25
然后呢,我们每变出一条市场活动,就拼这么一行,拼对这个地方这样就行了,对拼这么一横就行了。然后当然这一行里边这些数据是不是要从每次变论这条里边取啊对取,然后我把他为什么都拼了一个大字,照格变列了一个拼一个放到一个大字,便利要拼上,最终都放到一个大字,然后把大字放到那个table列边上边行。所以那这个地方呢,我们往里边放出去吧,那放的话,我要把它们都拼到一个大字符串里边,我在循环体循环开始之前先定一个大字符串,这个字符串我就叫HTLSTL,一开始这个空的每变出一条市场活动都拼成一行,对,然后呢,都往里,都往这个大字符串里边,往这个大字符串拼接就行了,拼接字符串怎么拼接?
20:21
被加等于,然后呢,字符串往这里边儿的括起,这都字符串,然后同样大家后边这些都往这个大字符串拼接拼接拼接拼接拼接拼接,然后呢,这些后边都括起来。然后呢,这个地方也阔起来,知道吗?括起来,然后呢,这个地方括起括起来括起来括起来行了啊。当然我们说每拼来一个,每变论出来一个拼这么一行这里边数据,那肯定要从这个平方面里边去动态的去对,那我来取吧,那一行一行看都有哪些动态数据,首先一行一行看啊这一行这一行就是TRTR大看里边这些什么,有个class叫。
21:06
那说大家看这个X它里边吗?这个class是这个TR的属性名,然后这是属性值,对,那是么属性名属性值这里边本来有个问,有个双引号,但是他这个地方已经报错了,你知吗?对,为啥报错了,因为双引号冲突了,他认为他俩是一对,他俩是一对,那这样让听懂了,那空统怎么办呢?对对,本来他俩是什么,是里边字符串的一部分是不是,那怎么办呢?两种方式用单引号改成单引号可以,单引号就给外边不冲突了可以,那你说该单引号里边对不对,我说前端的代码不区分单引号双引号都可以,但是一般来讲我们不会改美工写字写好的这些美工既然用双引号,我们就用双引号,但不是不冲突吗?对,转移对怎么转移对,加这个斜杠转移,这样他拼的时候,他就认为啊,这个里边双引号就是里边自符串的一部分。
22:06
好,这是我们说的这当然这一行没有动态数据,不用管了,只需要把双引号转移一下就行了。下边继续来看这是一列,这一列是什么大,这一列就是这个boss,每一行呢,前面都有个拆boss,那后这个拆boss呢,它里边也有双引号的,都给它先转移一下,先转移一下知道吧。好,那你说这个拆销报S呢,转移好了,不报错,不报错了,我们前面给大家分析了以后,为了对这一条市场活动进行修改和删除,要把这个市场中的ID给这个拆我司绑定咋绑定。是不是给这个拆包子可以加个属性啊,什么属性对保存数据的属性谁啊?对Y6,然后呢,值是个什么,双引号过去了,这个值里边是什么呢?对这次变出来这个市场活动是不是ID啊对,根据标识才能什么确定要修改和删除哪一条记录。
23:07
然后通过OB拿到什么这条记录的ID,怎么拿对点ID,这样将来每一个拆boss都绑定了各自市场活动的ID了。将来我要修改删除哪一个,我只需要选中它一点,我就只需要获取这一个什么拆box,选中的拆boxs上面绑定的Y6属性值,我就能拿到他的ID了,拿到ID我就可以对他进行修改或者删除了,啊这是我们说的。哎,那你说这个值,你说老师为啥还这么写。为啥为啥这么写啊?那你想啊,这里边都是什么?属于这个字符串的一部分,这都是字符串,那我要往里边拼一个动态的一个JS的值,这是个GS变量,我要如果不不把它括起来,当然我要如果直接这么写Og.ID就成啥了。
24:01
是不是它获取的不是变量,就是里边字符串的一部分了,对,所以我这么,所以我这么写,先把这个字符串隔开,隔开,然后呢,OB接点啊。获得这值之后拼你边,嗯,这张对明白了吧,对,这是我们捉到这对,下边继续来来看这个下边这个下边这个什么,这是一列,这一列是哪一列呢?这一列这一列这是个超级链接,你看这个超级链接,你看是哪一个,看看这个超级链接双引号都给他转移一下,双引号转移一下,双引号转移。这种双引号转移这个超级链接显示什么?应该显示每一个市场活动的名字啊,那每一个市场活动名字从哪取啊,OB列边取OB边取,Obj是GS变量,是不是这个地方还得把这个字符串隔开啊对隔开隔开obj点二对那。
25:01
继续来这一个谁啊对,这一个是所有者,所有者是吧,还是从OB里边取,还是隔开隔开OJ点二对O咱们已经连接查询查询所有者的名字,这个是不是开始日期啊,同样这是美空写锁的这个替光六,然后呢,Obj点大的对date再一个结束日期是不是还在P隔开隔开来一个这个地方来一个OG点摁个来。这样的话,每变出来一条市场活动放到这里边,拼出来一横,把这一行全部拼在一个大大组这里边变出来多少个市场活动,拼出来多少横,全部都在大字这,然后把大字符串显示到这个列表里边就行了。那如何把大租串想到列表里边,找到列T包,对列表里边显示列表数据的是不是在T包的标签里边找到T包的,把自动串放到里边就行了,对,那找到这个T包的,找T包的个T包的在哪呢?对,在列表里边是不是这个T包的呀,这个提包的,那我要放在里边,往里边放数据是不是一一会得选中它,拿到它的解块对象掉AT2或者T是不是就可以了?对,那给他一个ID吧,给他一个ID随便给他,我这个地方就叫t Bo。
26:32
啊,这个名字你随便起了,我就想他了,然后呢,再看往里边存数据,存数据,那这往存到了分,然后呢,拿到他的角号对象往里边显示出去,咋显示。对A填猫,对你要显示什么数据,是不是把这个字符串拼好的字符串给他,他就把这一横全写到里边,以前有同学说老师用这个可不可以,可不可以对他是什么用来里边往里边显示文本信息的,里边不能有这种标,不能有这种标签是不是知道吗?对他不行,对他不能。
27:15
那有的同学老师用这个可不可以,咱以前也学过这个,这个也可以显示,这个可不可以,他跟A天猫有啥不一样吗?这俩标签你们中间那块。都是在中间,都是在标签里边写,它俩有啥区别,它俩都可以在指定的标签里边来显示其他的内容,但是它俩不一样的地方,HTM2这个函数啊,这它俩不一样,然后呢,这个地方来一个。然后呢,选择器就是什么在指定的标签中来显示,然后呢,显示一个什么对显示子标签,或者叫显示这个什么JSP页面,然呢这个呃片段嘛,片段这段,当然这个子标签你也可以是任意的走标,这两这样说起来比较通用一些,知吧,那它这个这两有两种方式,那两种方式一种方式是ATM2函数,哪1TM它的语法都是这样的,你要在哪一个标签中显示,选择选中那个标签,选择A,选中知,然后调谁啊atl,然后呢,这里边是什么写什么叫JSP页面片段,片段的字符串,字符串把那个页面片呢拼个字符串传里边,它就显示了。
28:50
还有一种方式就是这种用A判,它俩都可以显示,但是它俩不一样的地方,这一个是什么叫覆盖,覆盖显示,覆盖显示什么意思啊,对,把之前的给覆盖掉了,之前的这个标签里边,如果指定的标签里边之前有内容全给你清空了,然后给你放新的那种,咱明白这个吧,这个呢,对这个追加显示,对追加显示原来的内容不变,在原来内容后边追加显示这个尖子P片段,就这个意思,知道吧。
29:34
好,那大家知道它的区别了,那我问你了,这个地方是不是A,是天分还是用。啊,都行。那就A2确定可以是吧,那A为啥不可以,对你得能说说原因啊,对你要用APA,你每次你假如你点了好几次查询的时候,对是不是前一次查的不给你清啊,是不是这个意思,对下边又给你追加,又给你追,追加越来越多。
30:15
所以这两你学会语法了,你得知道他们应用场景需要覆盖显示用A天猫需要追加显示,用好办法以后我还会给大家介绍,别的你们也已经学过了,哪有大家课下可以什么,我后边会用,课下你要如果没记住的,翻一翻前面的笔记,或者看一看前面的记及其他一些资料,还有这个。还有这个,呃,跟这个帕呢相对应的啊,这个也可以。跟阿相对应的还有一个对,Before。当然给这个什么给A天相对应的。
31:02
对test这几个,你这几个都要会啊,这几个都要会不会的翻一翻前面的笔记,我后边这些我都要用啊,这我这我今天就不给大家详细的说了,好这样的话大家我们就显示好了。这样的话,响应回来之后,把总条数显示到那个总条数,那然后呢,列表也显示出了,这样的话,我们后台这个前台也显了,对这就根据咱们就根据咱们流程写的吧,一点都不带变的。这样的话呢,前台后台都写完,下边测一测就行了,来测一道呗。
我来说两句