00:00
啊,那么接下来呢,我们就通过我们的这个GSTL这个标签这个技术呢,来给大家去重构一下啊,那么对于这个JSTL标签的啊,我简单给大家去描述一下啊,因为这里面呢,我没有给大家去提供出来,因为它特别简单,呃,这个是我们GST啊,就是GST中可以去使用的一个标签技术,然后呢,它通过一套标签啊,就是什么标签呢,我可以简单给大家去写一写,就在这里面呢,我们简单的去写一写啊呃,写到这个地方吧,注释一下啊,就是通过一套像这个什么C冒号,后面呢,比如说c if呀,什么C冒号这个for h呀,啊就这两个是最长的当就行了,我们只需要了解这两个啊,通过这个标签呢,来帮我们去做一个比如说基本的判断啊,或者说呀,For each,那就是一个循环了,他就能帮我们去做到这样的一个操作。理解吧,那么这个标签怎么用呢?大家注意啊,你要去使用这个标签的话呢,哎,只要去使用这个标签呢,首先啊,我们来使用标签怎么使用呢?我们得第一步先导入我们的标签库,就是我们的这个假包啊,第二步呢,我们需要在JSP页面中引入我们的这个标签库就可以了,接下来你就能使用了。
01:24
好,来,我们来用一下导入这个标签库,那么我们需要找到我们的资料,在我们的这个资料里面呢,有一个JSTR,看到没有,其中有两个炸包,一个是JSTL点炸,一个是standard点炸,那么我们直接把这两个包呢,给它扔到我们的工程下面,WEB03在这个lib下面,我们给它放进去。看到了吧,那么对于这个加价包来讲哈,大家一定要注意,在web工程里面,你直接往lib里面放,听懂了吧,放进去以后呢,你千万不要再什么呀,自己手动的标pass,这样的话你就加了两份了,人家默认会给你加进来的,你看到没有,记住了吗?不要自己再去加了啊,要不就冲突了,好加进来以后呢,我们第二步需要引入标签库,那么我们需要回到你哪个GSP页面想使用这个标签库了啊,这个去一下啊,这个是我刚才不小心按了个导包操作啊。
02:25
啊,你哪个这个GSP中想使用这个标签的技术了,那么你就是你就得怎么做呀,你就得去引入我们的这个标签库啊,怎么引入呢?大家注意在最上面我们需要通过一个它这个语法,就是加括号,百分号,At符号,然后呢,通过一个叫做t live啊通过这样的一个语法,这里面呢有一个perfect,然后呢有一个uri,那么这个perfect我们是固定的写成C就行了,为什么呢?因为我们的标签它是以C来开头的,嗯,这个一会我可以带你去看啊,然后呢,Uri呢,我们提示一下,就是R加斜线提示一下,选择一个叫做JSTL,就K看到没有选的是它啊,来,我们把它提示写进来,这就可以了。
03:20
理解吧,啊,这有个什么错呀,Miss and check for什么CE啊,这因为是我这个地方写的这个东西,它可能不能这么写是吧。加括号,那我就呃。百分号。百分号。这也不行是吧?啊,这个怎么注释一下呀,就是他可能认为这个是。应该没关系吧。
04:00
啊,等一下啊,Ctrl a ctrl X ctrl v。还有这个错是吧,那看来我们呃不能写这个了,他认为这个就是一个什么标签了,这个注释不掉是吧,嗯,把它去掉吧,对吧,把这个这括号去掉吧,啊就大家知道它是这个标签就行哈,哎,就通过这些啊,这样的话就没问题了啊。C冒号for,这都不行啊。可以是吧,保存一下啊啊来,那么这样的话大家注意了啊,我们把这个导入进来以后呢,我们就可以去使用它了啊怎么使用呢?啊,我需要给大家去解释一下,其实每一个标签呢,就是因为你在这个JSP中用,那么大家一定要时刻想着JSP就是一个Java。对不对啊,诶,那么也就意味着你这里面写的这个标签,其实它将来也是通过一个Java代码来去处理的,我来跟你说啊,你看我们找到我们刚才导入的这个炸包啊,我们简单的去分析一下,在这个GSTL的炸里面呢,我们点开,点开以后呢,我们去找个东西啊,找一个什么东西呢。
05:18
啊,我看一下是在哪个里面啊。啊,不在这个里面,那么在我们在这个standard点加里面,点开以后呢,我们去找一个注意哈,在这个me减info中有一个c.TLD,看到没有,看到了吧?来打开,打开以后呢,我们来注意看啊,这里面其实你就能看到我们引入了那个UR是不是就是它啊,对不对,而且它有一个short内网那个短名字是不是就是个C啊,对吧?所以说我们是按照这个地方来去写的,那么我们来给大家去找一下我刚才提到的几个标签,比如说c if,我们来找找这里面有这个tag的一个什么声明啊,这是truth的,你看是不是if呀,对吧?那么我们的这个if呢,它其实会对应一个check class,你看到没有。
06:07
就是你写的这个if,说白了它将来会通过这样的一个类帮你去处理,叫做什么呀,在这个包下面我们来找一找啊,叫做什么包啊,Org阿帕奇STANDARD2找找。Standard。TT下面的什么呀?呃,RT,那我们就找RTRT扣包下面是不是有这个if t呀,看到没有它其实最终呢,就通过这个类来去帮你处理了。看明白了吧,那么大家要理解你这个标签最终是怎么处理的,就是通过一个具体的类帮我们去处理的啊,那么这个具体的类的话呢,我们就不用再去看了,你点开这个东西也看不到是不是啊。对吧,那咋办啊,我这有一个。打开方式。
07:01
嗯,我看下这个能不能打开哈。导出反编译源码打开方式,这个好像选不了那个啥,就是通过反编译打开是吧,它默认就通过这个打开了啊,那么如果你想看的话呢,你就得去找到我们这个对应的这个源代码来去看它了啊,但是呢啊,这个其实呃不重要哈,大家听我说就行,就是它就最终的会转化成一个类,而这个类里面呢,就会有对应的这个代码帮你去处理这个if,那么if呢,我们是做一个判断,其实他这个类里面呢,就是来帮你做一个判断的啊,这个大家理解了就行了啊,我们也不用再去看它了,然后呢,还说到一个叫做for each,大家找找在什么地方。在这吧,那么它会通过一个叫做什么呀,通过一个哎叫做for each tag,就是通过这个类也在我们这个下面啊for each tag。啊,通过这个类来帮你去处理一个什么循环,能明白吧,我们把这个原理理解了就行了,那么理解了以后呢,我们就可以直接来去使用了,怎么使用呢?大家注意哈,刚刚写的这一部分代码呢,我们就不再用了。
08:11
理解吧,我就不再用它了,那我要把它注释掉,这个咋注释啊。是不是有这样的一个注释啊,对吧?来哎,刚才也应该用这个注释好了哈,来这个注释我们把它呢,全部都括起来啊。看到没有,我就把这一部刚才写的这部分代码了,我就给它注释掉了,我们就不再使用它了啊,把它放到最下面,然后呢,在这个位置我们要重新来写了,那么我要通过循环来显示员工的数据了,那我怎么循环呢?注意如果你要循环,你就是C冒号for h,这就是一个循环,在这个循环里面的话,你要迭代谁呢?这里面有一个it给大家解释一下,这个it指定的就是啊,C冒号for h,这就是一个什么呀循环啊,或者我们也叫什么迭代,然后它里面的it呢,就是什么呀,指定要迭代的元素啊,迭代的什么集合吧,那么现在我们迭代谁呀?是不是迭代那个绑定好的这个你emps吧,对不对,那这个东西的话,我们在这个位置,我就可以借助于谁呢?借助于我的E表达式,直接给他取出来了,能明白吗?直接通过E表达。
09:29
是不是把它取出来了对吧,取出来以后呢,你每次迭代的话呢,我们得有一个当前迭代出来一个对象,我们通过谁呀,通过一个叫做吧来去写啊,这个VAR它代表的就是什么呀,代表当前迭代的元素啊,当前迭代出的元素,那这个地方我们可以随便取一个名字,比方说我就叫做EP,那么就相当于我从集合里面迭代一个,我就复制给这个EP,那么我们在循环里面是不是会通过这个EP去取到我们的值了吧,怎么写呢?来注意这里面你就放心大家写你的标签就行了啊,因为它本身就是属于我们的,诶这个页面的一个东西啊,诶不对哈。
10:14
好,TR里面我们写什么呀?来TD,来,我们把这个拷贝一下CTRLC,好,那么在这里面怎么写呀,首先我把这个居中函数加上啊,呃,加上以后呢,大家注意,TD里面我们怎么写呢?T里面你就直接使用ER表达式Dora,因为你迭代出来的这个emp呢,它也会帮你放到那个预对象中,听懂白吧,能听懂吧,它也会自动帮你放到预对象中,所以说你直接写EP,然后呢,取它里面的ID,注意我们刚才说过不能使用get ID吧,你就直接点它的属性就行了,所以这种方式写起来就特别简单了,Last name。好到了。然后呢,Emb的呃,Email,然后呢,到了EB的真的,然后你也可以判断啊,等于等于零,好问号,然后呢,就是一个女的冒号,就是一个男的简单吧,再来写答,然后ED得什么呀,De BD的什么呀,叫做depg啊内容你看就是集点吧,一次性是不是都给它集点出来了,能看明白吗?这个好,那么最后的话,这个TD里面呢,我们再给他两个什么,就是刚刚写的这个东西就行了哈,TCTRLC,那这个呢,我就直接考虑过来了。
11:35
能看明白吧,OK,然后呢,刚才我们显示的这个里面呢,这两个挨的有点近是吧,如果说我想让他们中间有一个空格,那么空格怎么写呢?我们得通过一个实体来写,叫做什么呀?NNBSP,这就是一个空格啊,这个没没讲过是吧?啊,你知道就行了,这个东西就是一个空格啊,你写上两个空格,那么一会儿我们就能看到它们两个之间的就会有一个空格了啊空格的效果注意哈,在这里面你不要使用这个东西来空。
12:06
听懂了吧,不要使用这个东西来空哈,你就直接诶用我们HTM里面的一个空格,就是按照NBP好的,那么把这个写好以后呢,来注意我们这个其实就写完了,那你看一下这个写起来简单呢,还是说这个写起来简单啊,考定这个简单了吧,就是我们借助于这个GSTL标签来去解决这样的一个问题啊for会用了以后呢,那么其实我们这个c if呢,大家也应该要会用明白吧啊,那么注意了哈,这个位置我会给把这个CE if用一下,那我再去迭代显示它的时候,就是整个再去迭代这个表格之前呢,我C一下。好塞衣一下,那么在这个我把这个整个这个C衣服呢,给它套到这个table,你看好了啊,套到整个table的外面看到了吧,那么假如说我进入到这个页面以后,你是没有数据的,那我还需要去生成这个表格吗?那我就判断判断什么呀,我来判断一下你的EPS。
13:09
对不对,如果你的这个EPS的什么呀,你不要去判断它的空,对吧,就是你这么怎么写呢?呃,你判断空的话呢,不科学,为什么呢?因为我一定会给你一个对象的,你看我这个地方,我一定有一个类似的集合对象,对吧,所以它里面呢,不能不可能为空,只可能是没有元素,所以说这句话我们最好判断谁呀,哎,判断它的长度EPS是什么S。但是能这么写吗?啊,不行啊,集合有没有一个这个方法。有吧,但是我们能这么写吗?我们来试试哈,如果说它的长度是什么呀,这个等于零的是不是,那我这个东西我就不让它显示了吧,那就什么如果只要是什么,它是大于零的,是不是才能去显示这些东西啊对不对,OK,那我们来看看这个好使不好使哈,来,那我们就来测试一下,现在我们先来这个刷新一下了哈,回去。
14:20
来我们就直接访问log给点啊加吧,等一下啊,这个得重新部署一下,因为我们加了一些什么加包了,对不对,来重新把它启动一下。好来重新部署完以后呢,我们来测试一下啊,Lo JSP OK me,然后呢,123456来登录。哎,出了个问题,大家看一下什么问题呢?他说这个for input size不能这么写吧,那咋写啊?
15:01
啊。这个怎么写啊?你说不让我们用size,那用什么比较好啊?啊。EPS怎么写?啊,不让用size了,能用谁呀?啊,EPS的长度怎么感觉不靠谱呢?试一下吧,来啊,这个我也忘了哈,那忘了怎么办,那只能试了呗。啊,他说什么呀,长度也不能用是吧,那咋办。嗯,他这个肯定是有一个方法能判断它的这个集合的这个长度的啊,呃,我想想是怎么写的来着啊,这个看看能不能找个手册啥的哈,看看能不能查得到哈,查不到的话我们就怎么怎么办啊。
16:01
啊empty empty,它是判断空,但是这个地方能用吗?空哎,好像可以是吧,试一下吧阿哎,我们通过它来试试哈,阿姆看看它是不是一个空啊,看看它能不能判断我们的,那当它没元素的时候,看看能不能判断出来哈,来试一下吧,那我们回到这个地方再来试一下啊,刷新一下,然后呢,ME123456。不行吧?它是空的话呢,呃,诶可以的,我们那个非空嘛,你的逻辑写错了是吧,非空是不是。好,再来试一下啊,回去来刷新一下。好,123456这个能显示吧,但现在还不代表着他空的时候也能显示,是不是,我们得怎么样啊,我们得这样欺骗他一下是吧,怎么欺骗他一下呢?我们来测试一下啊,那就是给他这个地方呢,我暂时先不这么写。
17:10
等于六一个这样是不是就是一个没有元素的吧,是不是啊好,然后呢,直接就出来一个啊,这样是没有元素的,那么你把这个绑定进去以后呢,它里面是没有元素的啊来重新启动一下,看看这样行不行。好,他已经帮我部署了啊,部署以后呢,我们再来访问一下,刷新呃me,然后呢,123456找一下可以吧,是不是可以啊啊那看来这样是行的啊好吧,OK,那我就这么来写了哈,它就是呃,把这个注释掉去掉吧,直接啊好OK,那这么写的话就可以了,那么如果你是呃非空的对吧,那么你就显示它,那么假如说这个家伙就是一个空的话,你直接显示成这样,是不是也是不好啊。对吧,那我们怎么显示比较好啊,那我就告诉他这个地方就是没有元素呗,是吧,就简单设置一下啊,就是来,那么在这个if整个的外面,就当if不满足的时候,我们应该怎么写啊,你再写一个CE if,注意它没有else哈,只有再写一个CE,那么Dollar再写一个什么呀,Emp TY empty,就是当他是空的时候,我就告诉他什么呀,就是没有任何员工信息,这样是不是行了,对吧,这样的我们就好看一点啊,来再来试一下刷新,呃,Mean现在肯定是有的啊。
18:37
现在肯定是有的吧,然后如果没有的情况下呢,我们再来演示一下吧,嗯,刚刚删掉是吧,回来啊啊把这个再放到这,然后呢,我们再来部署一下。好,部署完了啊,再来试一下啊,123456登录来就是没有任何员工信息,对吧,你把这个写的好一点,把它放到中间是不是就行了,对不对,OK,那么这个效果呢,其实我们就已经实现了啊好,那最后的话呢,我把这个还是去掉了啊,去掉以后呢,把这个还是打开。
19:11
诶。咋了?不扭他了啊?好把这个查回来,OK,然后呢,在我们这个地方的话,这个没有任何员工信息,那我也给他加一个什么呀,H2吧,好居中一下是吧,啊不能别的都居中,你不居中是吧。来把它举中一下,然后呢,哎,等于一个center,这就可以了,这个能听懂了吗?OK,好,那么这样的话呢,啊,我们就最终啊,把我们的这个啊,显示所有的员工信息列表呢,通过我们的GSTR标签啊,又给大家进行了一个重构,那么大家下去以后呢,你只需要学会c for,还有就是我们的c if就行了,我们基本上就用这么两个,明白吧,如果说后续我们的课程中用到了别的了,到时候我再来给你去解释一下别的它是怎么去用的,暂时我们就用这么两个就绝对够用了,其实主要就是一个C。
20:11
对吧,这个c if都是。我这个拼了命给你凑上去的是吧?啊,OK,那么这就是我们的GTL。
我来说两句