00:00
那么自定义标签的基本用法我们已经说完了。那我们知道怎么样制定一个标签,以及给标签。带上标签体以及给标签带上属性。的基本的东西啊,已经说完了,那么下面呢,我们就把这基本的东西综合应用一下。我们现在要实现这样一个需求。我们重新来写一个啊拷贝。我现在要实现什么功能呢?我要便利list。
01:08
嗯。我要遍历list。便利list,那咱们这样来写啊。嗯,我这儿来一个list。当然我要要list的话,我这儿你看啊,先写吧。List。嗯,这样,我这里边儿放字符串。这个叫names吧。你有一个array list。你看现在是不是需要导入这个价包啊,把这类给他导入,我就直接给这写了啊一。
02:02
Pot java.u点。行就行了。好了。往里边放数据,Names点。张三。咱们来三个蕾丝玩偶。然后我把它是不是放到配角欲啊,好了,我的list已经有了。下边干嘛,我们要来个标签把这删掉了啊。来标签,当然了,我们这个前缀CT是吧,CT冒号这肯定要写的。
03:09
便利谁呀?Items,这是我要便利对象。哪个东西当然是。你便利当前便利对象是谁?我再来个属性。但您别这首是谁,我这个起名叫name。这样吧,这直接就放一个name。换个号,OK,就这。看清楚了吧,我就实现这样一个功能,这写一个for each list标签,我要遍历。
04:01
这是表达式,是不是这个结果呀,运算的结果。这便利他当前便利对象是name,我在这把这个当前便利对象给它显示。那好了,来吧。定义标签处理器对吧。标签处理器。我这个叫for each list。T。继承者simple t spot。重写do t。好。那这里边儿我们大家清楚啊,要给他添加赛的属性,因为我这儿有两个属性啊。
05:07
一个是it。一个是对不对,Items items private。It是什么类型,这肯定要给的类型啊,It是什么类型?这是个对不对,这是,所以我在这写了。发型我就不写了。因为你要写上泛型了,你这个for each list只能针对于这一种型的,所以我这就不写泛型了,那这个叫什么,你那个是不是叫names嘛。对吧。再来一个private,下一个是什么?那肯定是字符串。
06:06
那不是。在这儿你注意它是个字符串啊,这是个字符串。有同学说,那那假设我这变的这个不是names是谁呢?比如我这来一个。那这就应该是是不是student这就是个对象了呀,所以我这方成字符串是不是有点不合适啊。对不对,这样方程字符串不合适那。在这要这样放的话,它。这是个对象。是不是这就变成一个对象了?那也就是说我这边这个是不是应该给它定义成object。是不是?你注意啊,这可不对。
07:01
可不是这样理解的,怎么了?这个东西是什么?这个是个字符串,谁是个student对象?这个结果是个student对象。他是个对象。你需要注意。所以我们是作为什么?我们要把它作为一个名称。要把它作为一个名称出现,最终最终的这个东西是什么,我们写一会儿代码来你才清楚啊,所以你首先要知道啊,这儿先注意这一点就是他。不能定义成。Object。为什么?我们一会儿说,你注意这个问题就行了。当然。我在这儿需要给出他。是不是赛的方法呀,对不对。
08:03
诶,这两个赛的方法就有了。紧接着来吧,写这个代码了。写这个代码,我这儿便利,便利谁呢?你现在是不是便利这个。这个list呀,要变好说呀,For。Names是吧,这个我就叫name,我就叫name。便利,然后干嘛这个name干嘛呢。你注意我们现在变成这个name,要把这个name是不是给它显示到。我们的。把当前便利这个对象啊。
09:01
要给它显示到我们的显示器上。嗯,也就是说我现在要把它显示到显示器上。把它显示到显示器上,怎么显示?要把它显示到显示器上。哎,你说到底是显示谁呢。思考这个问题,我是要显示它,还是要显示你注意。这是当前便利对象啊。便利。首先是他。到底是显示谁?这到底要显示谁?有同学说,那现在他就是你当天便利的这个呀,诶我得改过来啊,这个这。
10:02
换成names啊。那这个东西,那不就是这个东西吗?不就是它吗,不错。现在其实就是它,可你如果说直接给他显示,怎么直接显示获取到out。获取到那个out对象那。再点get。JSP。Contest第二,Get out。我这边获取了out out点。Print。Name。你看看我如果这样写啊,咱们先这样写,暂时先这样写。
11:03
要暂时先这样写的话。那这个这个这个就这了。这就是我现在。就该是不是注册了,那注册就直接打开它了啊,直接打开它注册了。拷贝了。这个标签标签名叫。是不是这个一切。List。那名。有没有?这个。标身体啊,有这个标签体里边有没有医药表达式,有吧,有。
12:01
还能用它不能啦。是不是不能啊,那不能用谁呀,是不是这个script累死。对吧,用这个东西紧接着呢。紧接着这第一个属性,It是否必须的是?这个呢?Time value就是它是不是支持式呢?明显我们这儿需求这儿是不是有啊。所以这儿就是初。没问题吧?这一个属性了。还有一个呀,还有一个是不是叫碗。是否必须的是是否支持。不支持,这是不支持的啊,这直接就是放的是你当前辩论对象这个名称。
13:07
他不支持,好,我就先这样写了,注册过了,注册过现在他就能用了啊,我们就能跑了,跑起来。看哪错了?他说。Unable to find set method for。Attribute没有吗?没有赛的方法吗?有没有看看啊?呀,怎么弄成names了?真是迷的,是不是it啊,哎呀。怎么能是他呢?
14:05
啊,这这这写着写着怎么。你看这儿注册的还是的是不是啊。那然后然后再来写这这写什么items。你现在要遍历这个it。当然现在每一个是是是个什么。这it的每一项是个什么?是个name是吧?你现在来说它是个name,我就写个OBG吧,OBG本质是个name。是这意思吧?那重新。发布一下。刷新。张三、李四、王五。
15:02
诶,不对呀。就我这儿这这儿有换行啊。是这吗?你再看一下,我把它删掉。我把它删掉,我再刷新。有影响吗?他没影响。什么意思,也就是说你现在这个东西,或者说你这个哇,根本就没起作用。他是直接把它变利了。这好不好?肯定不好啊。这肯定是不好的,怎么就不好了,那如果说我这啊,刚才还是那个student,这student。Still站台。那你说。我知道该怎么写了。咱们这student呀,你直接把student输出吗?那不对呀,我这现在想要谁呢?Student的name,你给我输出这个,这是不是就没办法了,也就是说我们这儿要的是你得能获取到这个当前便利对象,而不是直接把它给输出。
16:17
这种写法是直接给他输出了,我不一定是输出这个对象,我现在要的是这个。要的是这个对象,让我对这个对象可以可以进行操作。所以这个写法肯定是不合适的。现在是完不成了呀,你这个任务现在完不成完不了哦,那倒是那怎么办。那这个怎么办?为了让大家好理解,这个成语不好理解。为了让大家好理解,我先给你这样写假设这儿啊。假设我说了,这儿写成。
17:02
我这就输出个张三,你注意假设我这就输出张三。有同学真的不是三个张三李四王姆,我说假设啊,那你写它干嘛?那这个list有几个元素,我就输出几个张三,就想实验它呢,那这个怎么做?先说他怎么实现。他怎么实现,要想实现它的话,我是不是就得。获取到。标签体呀。是不是我要获取到标签体?所以我这儿的写法。把他删了。标签体我要获取的话,this.get JSP body获取到了吧?点是不是invoke。
18:12
刚刚说过吧,In,这是什么?自动就会将标签体的内容给它显示到标准输出流。是不是好,现在重新看一下啊。现在重新看一下。哎,重新发布了很好。看着走。呀,怎么回事儿?看一下。啊,他这儿说21行,哎,这这这怎么又又改了啊,这儿忘了改回来了。这是不是?Names name啊。
19:05
没问题吧,对不对,哎,你这有几个元素,我这就输出几个张三。这个可以理解吧。好,现在进一步加深了。我这不是张三,那原本就不是张三的是谁?是他,对不对,是。哦,是他的话,也就是说我这儿。仍然是获取到标签体。然后这个标签体呢。这不还是这一句话吗,直接把它是不是放到把标签里边内容给它放到了哪儿啊,放到标准输入流吗。所以我直接成语不用改动,直接刷新,你看行不行,看一下行不行啊。
20:01
看好看好看好。走。呀,怎么没东西呀。为什么?你不要忘记我们现在的这个标签体。我们现在这个标签题里边是不是有医药表达式啊,还不错呀,有医药表达我这儿支持啊,你看看。标签体是不是吗?它支持的呀。Scless。可以出现是不是一二表达式。他支持不错,哦不错,那那那哪儿的问题啊。OK了,问题出在哪儿?问题出在这儿,我给你写一下,你看看能看明白不能啊,This get。点。
21:03
Set attribute。谁?你注意,我要往那儿放谁了?我现在要处理的明白了。我现在明白了,你这个name。这要处理,要表达是要处理的这个name。他必须存放在是不是四大狱里边啊。之所以刚才不能显示,是因为这个name并没有给它放到域里边,你现在处理这个name放到域里边了吗?没有,所以我在这要把那个name给它放到玉里边,而这个name是谁?是哇的直啊。对不对,所以这就是碗诶。这儿。
22:02
我把这个Y的值。诶,错了啊,我把这个对象。把这个哇作为名称,把它作为值。给他放到了。配洁玉。然后再看一下,我们再看一下。这样不好理解啊。正好。出来了吧。原因在哪儿?原因就在。刚才的那个name。在这儿的时候,给他这内是谁呀,Name就这个名称,这个名称在哇这个变量里边,这个属性里边放着呢,所以我这儿这个属性,你看我这儿它是不是就是那name啊。
23:00
它具体的值是什么?具体的值是这个对象,这就是为什么这这个Y要定义成string,而不是object。他就是个名称而已,是放到玉里边的。属性名。当前便利对象。嗯,要放入。E。中的属性名。这仅仅是个。属性名。而这个才是具体的属性值,你要把它放到四大域里边,那么我们这边医药表达式才能去。运算它。所以这写上啊,加个注释。
24:01
由于EL只能处理。四大域中的数据,所以。需要将。当前便利对象。放入到。所以这里吧。将当前便利对象放入到哪呀?是不是配角欲啊?对不对,放到配角域中。放到配角狱里边儿。7K为Y。所指定的名称。
25:00
而value则为当前的便利对象,OBG,这是不是就明白了?所以啊,这个在代码里边,就这句话是最不好理解的。他是最不好理解的,OK了。这个我们写完了。这个写完了啊。就是for each year。List。这个标签。
我来说两句