00:01
好了,咱们继续啊。嗯,咱们看一下咱们这个一表达式呢,主要是从某个范围对象中读取数据啊,并且将这个读取到的数据输入到浏览器上。EL表达式呢,最主要呢,它其实是为了代替我们JP中的Java代码啊。是一种新的语法吧,嗯,用几天就熟了啊,就是美元符号,大括号里边写个表达式。然后呢,咱们底层其实你可以考虑它的实现原理,你想一想,表面你写的是这种符号。将来还得翻译成加法程序。咱们不是有一个tomcad服务器吗?Tomcad服务器我说过就是JSP的翻译引擎吗?它将来可以把这种美元符号呢很好的翻译,生成它对应的Java代码。
01:04
将来其实你访问DD还是底层执行Java程序啊,没啥区别,另外呢,咱们E表达式呢,有几个隐含的对象啊,其中有一个page scope requirecope session scope和application scope啊这四个是范围对象,另外呢,咱们还说了,还有一个内个对象吧,叫什么T吗?啊,在哪呢?放哪了啊,在这呢。呃,还有呢,咱们这个EL表达式要想失效的话,咱们可以通过这个配置指令啊,它有一个属性叫is EL no,你要写个true的话就表示忽略,你要是不写的它或者写个false,它都是不忽略啊,所以这个属性一般是不用写的啊。还有就是咱们一样给它有个共同的特点啊,特点就是取数据取不到的话,它输入到浏览器上是一个空创。
02:08
好,咱们继续看吧,啊,数组这一块的话,咱们应该是使用这种下标就行了啊访问好,咱们一起再往下看,还再讲一个啊,EL的EL表达式的另一个隐含对象啊,又一个啊内置对象叫。诶,你看原先那个叫吧,啊,现在这个叫P什么value这。你看啊,比如说我们在这呢,写上这么一个同学request,不是还有一个方法吗,叫get parameter values。这个返回的是个数组吧。比如说兴趣爱好interest行吧,兴趣爱好。
03:03
那这样的话就可以在这个上访问呢?怎么访问?And interest等于sport运动,And interest等于music音乐回车,你看体测这书读吧。是吧,因为这个request get para values,你想一想,底层这不受损了吗?是吧?Interest来,接下来大家想一想怎么做使用一、使用加法程序这么写,想获取第一个元素,你写什么呀?书号零是吧?你想获取第二个元素中号几一是吧?你看看能不能获取,嗯,刷新。这是Java代码啊。Port music吗?难道那如果要不想写Java代码,我要想用这种一表达式代替怎么写?上面三行翻译下来怎么写啊?
04:03
第二是吧,来这一行怎么写?它是个数组吧,这个既然是数组,咱们一二点能写是不是也是中号零啊,来写过来是不是中号一啊行。你看前面跟后面一样不一样一样。是吧,是一样的嘛,这个等于那个嘛。其实这个比这个强大啊,你再往下取,你再取一个会不会报错呀,你这再取一个下越界的吧,但是人没事儿,人间仍然是吧,还可以运行。就是空块吧,这个我就不再演示了啊,再演示就是多余了这个东西。行了,这个过了啊,嗯,几个了。六个了吧,六个了啊,六个内置对象了,四个范围,一个叫一个叫什么para value再来一个。
05:05
下边我看啥呢?从例子的集合里边取点数据啊,使用EL表达式从例子的集合中读取数据啊。好了。嗯,那我就先准备点数据啊,这边有个list里面存什么就行了,存这个emp吧啊,叫e list,莹莹用一个every list吧,啊叫em啊,嗯,好,这个em已经导入了,这个导进来好了,前面这个list导进来好了,导过来之后呢,这个e list不是有个方法叫I吗?有个E1是吧,再把ER2放进去了,放译中的request是不是得叫set atribu是不是必须把这个e list存进去啊,必须分啊,你不存,你表达式是不是取不出来,叫EP list吧,En list吧,好,这俩一样了啊,接下来怎么办?取list的及格怎么取?
06:08
咋了加括号吗?直接把谁啊,这是不是就是例子的集合,那你刷新一下。是不是例子集合里有俩元素啊,来,我想取第一个元素,怎么取?零的例子的几个底论数是是不是有下标来取,取完之后你看是不是拿出第一个了。第二个想答我们换行吧,啊换行再拿一个。行吧,刷新。是不是粒子的集合,是不是第一个元素吗?是不第二个元素吗?我想取粒子的集合,里边属性怎么取啊?点什么哎,点谁啊name啊name就行了,好继续吧,老规矩啊,把这个复制一下放到哪放到这吧,放在这啊这改成一啊那一就行了,是吧,来刷新。
07:07
是不是也行啊行啊,力测题都过了啊。绿色集合发展元素存进去100克取怎么取啊?就这么取就行了,接下来慢慢集合,使用EL表达式啊,从map集合中读取数据。现在呢,我再准备个元素啊,再准备点儿数据。嗯,叫做map emp啊叫emp map吧,有一个哈希map顿啊EEP行了,Map是不是找一下啊,这个找一下吧,嗯,然后呢,EP map点铺的方法。我叫负的方法,我存一个一一逗号,后边存一一行吧。叫K1吧啊,存个K1得了,还要复制一下K2,我存一个什么呀,一二行吧,接下来request是不是还得调set所表这个方法是不是再把这个emmp到map再存进去吧来,因为只能从范围中取数去啊ma来从一表从取这个ma机构怎么取。
08:19
高的是不是就行了。这是不是能卖吧,集合来去卖吧啊。这是不是M不及格呀,K value key value嘛,是吧,有了卖不及格怎么办呀。你想取map集合中的这个元素怎么取?简单点K。这个是谁?这个是它,它是它K1。就代表第一个元素这个吧,这个不是第一个错了啊。外部及格里边及格这个P部分元素是不是没有顺序啊,我们没有什么第一个第二个列说啊,就是取K是什么,K等于K1的,或者这是A吧啊这是B吧,行吧,这写什么。
09:10
诶。你要想取的话,你就在句本上取个B吧,你取B的就是这个吧,啊,我这我我刷一下啊是不是。有换行吗?不换行的不看不清楚了啊,来换行。是那个麦克吗?是不是那个Y6呢,这个对的这个了,这个是不是对的这个嗯,行,果然是没有顺序啊,来继续怎么取值啊点什么。它代表一吗?点是吧,点二内吧,来再来复制一下,接过来改成什么B能理解吧,刷新。
10:02
其实这个东西我就是给你引个路啊,那这个东西很简单,你绿色机会有下边,你就通过下边取,取出来之后你点往往后点就行了,就是有一个规律啊,你一直往后点,一直往后点就行了。是吧,总得有开始吧,开始往后点点你点谁,你点它它就掉什么方法呀,Get。是吧,嗯。BB啊。可以问吗?这个调的是钙的A方法吗?不是吧?这其实是map机的调子盖的方法,括号里面传了一个什么A。明白吧,是这么个意思啊,所以你看看他是取数据输出就行了啊。
11:06
行,那我就继续往下讲。继续往下看啊,往下看看见谁呢。看下这个吧。用贝斯标记,先讲一下这个贝斯啊。咱被子的话,上面怎么还都报错了呢。我只能这样了。你在这写一下得了。Base标记,那我别在这讲整的乱七八糟的,行了,那我们换一个文件吧,啊想一下base。
12:03
PA,我以前讲过吧,来咱们再再看一下啊JP点右键啊,我就再写一个吧,Ell吧啊杠TEST2点点是吧。二啊,这跟这个这是二啊,来k coding写上去GB18030好大家还记得吗?在这个里边有一个那个。Base吧,哎,开一头啊,关于就是使用EL表达式获取base路径,我们看这不是有个base标记吗?里边不是需要写个h ref吗?好,这边大家还记得怎么写吗?原先HTTP吧冒号3W点二或者IP吧是127.0.0.1端口号八零端口杠EGV杠是这样吗?这是一个base标记吗?咱们后来是不是把这个东西换成换了换怎么写来着这个。
13:12
写成加法同学怎么做?这是谁来着,这个。Request盖个什么STEM冒号两杠后边IP怎么获取request.get serve name根口号呢?Request什么serve po这个路径是不是跟request表get什么contact pass后面加个杠吧是不是?嗯,是这样吗?什么?来这边我先访问一下啊,这边怎么访问就直接访问那个二就行了吧。
14:02
是吧?回车。点右键。这对吗?对吧,是不是我们要的就是这种效果呀,是吧,这。Request get。哎,大家还记得吗?EL表达式有一个什么能力?专门调什么?是吧?那专门调盖吗?那我问你啊,要想调盖是不是得先获取,怎么能获取request呀?来看帮助文档啊。咱们以前曾经接触过一个类型,这个类型一直没有用过,今天我要用一用了啊。JSP里边呢,有一个东西叫做。
15:03
Page context。大家还记得吗?这个四个范围对象最小范围是哪个配置context吧,而这个配置context在JSP里边。那个对象叫什么?这个P小写的吧,然后在ER表达式也有一个内置对象啊,在ER表达式里边还有一个K也是对应它的。来,我再写一写啊。这边呢有点意思啊,这个呢,可能你混有可能会导致你的混乱啊。JSP的其中有一个内置对象叫做什么?Page context是吧?
16:02
对应的什么完整Java类名是什么呀?Java X叫J,叫配contact吧,但是要记住啊,这个内置对象。在EL表达式中对应的隐含对象是谁?是配置一个scope是吧?不是啊,不是。叫page,排掉它。他这个呢,只能取范围中的数据啊,你要是从范围中取数据的话,你就用这个。明白吧,你要说你想使用这个对象去调方法的话,你用它调不了。只能用谁看?所以这可能大家有点混,哎,我再说一下啊,大家捋捋啊,完整类名是什么?
17:02
这个类。在JSP中呢,有一个内置项叫什么配connect,哎,在EL里边也有内,叫什么配connect。一样的。但是呢,如果你要是从这个范围中取出去。你就用什么take scope。你要是调这个对象的方法。你得用它。啊,所以这边的话使用啊EL表达式啊,从叫什么配置context范围中取数据的时候,请使用EL表达式中的内置对象配置SCO,如果想调用,如果想调用什么呢?配置context的内置对象的方法。需要使用EL表达式的隐含啊,或者是内置对象叫什么配置。
18:10
能捋清楚吗?就是就是这个对象是专属谁的专属从范围中取数据而存在一个东西,明白吧,如果你要是调方法的话,你就用这个调就行了啊,叫配contact,调配contact page,你看啊,再往下看这个帮助中page contact里边有没有一个方法叫get什么。Request。有吧?是不是有该呀。哎,怎么。这个是不是需要request才能调啊?那这个变成加法程序怎么写啊?高了吧,哎,我问你是不是得先取这个request,要想取request是不是调这个get request的方法。
19:08
干快的方法是不是配置里边的,那你这怎么写。糟了,这怎么写?Page contact点还在呢,Request点。是不有提醒吗?演变了啊,来再来。哦。Page context.request serve是吧?
20:00
删了啊来细心点啊,这是冒号,后边什么端号吧,端口啊端口是。高了,走走。Page context.request点。Po。继续最后一个是。Contact。当然。He con点。快点。来,我写了两个被子啊。先看看能不能访问。一样吗?一样,所以呢,这边呢,我给大家介绍了一些一二百万式的写法,是这样写的。
21:02
要是Java代码你这么写。这是被子标记啊。复杂吧,复杂有点复杂啊,但是呢,你要注意啊,这个容易混了,这个其实我觉得呀,它应该是。不应该给这么这么几个名字是吧。你非得改个名,跟这都一样,多好。是吧?跟这都一样,完事之后呢,这边呢,改这边还叫配置卡吧,就不会有这个问题了啊,它调的话调你调方法你就得用谁啊配置卡你这用配school不行,嗯,不能用这个。这个不行,这是从范围内取数据的啊,这个叫page contact。一看叫方法get request。其实你看一看,有了这个配置content,是不是可以得到request对象,如果有了这个request对象,你想一想,是不是可以通过request再获取那个session。
22:09
是吧,有了session,你想获取那个3C能获取吗?你看这是不是都有get contain的方法呀,是不是还有盖三方法呀,所以通过这个这个叫配置content对象,它是不是可以可以获取任何一个范围对象。能调该request或许调get contact调get,它是个什么对象啊,到底。它就是这个JSP上下文对象。整个这个JSP页面,我问你JSP在访问的时候,JSP它是不会创建session对象。是吧,从这个配置content,从这个页面上下文里边能不能捞一个session出来啊,能不能把这request捞出来,能能把这content捞出来啊,它都可以捞出来,所以调这个配置contact的一些方法啊,点盖的方法,该request,该session,该content都能获取到。这是个页面上下文对象。
23:01
它不只是有这个什么set at tribute,你看它不止有这些set tribute的方法,它上面还有负吗?有负是吧。是不是有get tribute呀,是不是有get tribute呀,是不是还有那个remove tribute呀,有它也有这个方法开始connect。叫JS content啊,它其实它词类叫什么配contain。咱们现在呢,就是用的这个子类配置的。明白吧,是这样的。好,各算一个啊,大家把这的掌握了就行了。嗯,好了,那这样的话,咱们这个。这个知识点就说到这啊,没有在这个这题里边,大家注意的,在这个里边呢,在二里边呢,啊往二这看啊,往二这看,这边咱们继续把这个这个继续啊。嗯,这边要继续的话,咱们该讲哪呢。
24:01
E表达式从外集合里边取出去吧,是从粒子的集合啊,什么pair values从数组里边取吧。啊,从数组里边取行,再往下看。3EL表达式中的。隐含对象啊。表然是另一个吧,啊,另一个隐含对象,内置对象又来一个啊,看好了啊,叫in need。几个了,七个。哪七个page SCO?
25:01
Request scope session scope application scope,还有吗,S?In need还有一个啊配置。这是四个范围啊,这俩是一波的,这是一个,这是一个。其实这个和这个是对应的,我们的那个对象是一个啊,但是呢,你要从范围里取出据你得用它,你要取水快速的从这从这调这个就行了啊,它俩其实是一样的,但是不能换用啊,不能换着用啊,它只能从范围里边取。它表示一个范围对象啊。行,这个知道啊,咱们接下来看这个引匿para,这个隐匿PAR你觉得跟哪有关系啊。
26:04
大家好像似曾相识吧,反正我觉得是见过他,好像有一个方法叫get。不是request叫什么呢?叫con是吧?Con get引力的发明是这个吗?它它不不不止这个con里面有啊,它还好像还有一个对象也有啊,就是那个contest对象里面有con叫什么叫application点你看也有该引力。来,我慢慢的说啊,慢慢的说con是对着哪个内置影响。是你们以前学过的serve light什么con对象,它呢,这个对象里边有这样一个方法,那这个是哪个内置对象,哎,下边这个呢,是s light。
27:02
Contact。这个对象在什么时候被创建呀,服务器启动阶段创建吗?而且只创建一个吧,并且这对象在什么时候销毁啊。在服务器关闭了才销毁吧,叫应用范围的对象,它对的范围是application嘛,那这里边又有该引立吧,哎,那我问你啊,如果你想调这个方法获取数据的话,这个配置文件应该写到哪。在web.S文件中,我相信大家应该还记得有这样的东西,其实可以在这个下面配一个叫context para,并且在这配一个para name和加一个什么para value吧。另外在这个标签里边是不是也可以配一个东西,只不过这个叫in need para,然后这个para什么para内蒙para这样。也就是说大家看这个数据配好之后用哪个方法调。上边这个。
28:04
这个配置信息是不是配到这个标签里边的,这个信息被封装到哪个对象里边,叫私在什么con的对象里边了是吗?那我问你啊,这波配置信息被封到哪了。配到斯的康泰里边了吧。哎,如果还记得的话。应该还记得这个东西啊。这个信息被封到这儿了,那么今天呢,我要在EL表达式里面讲一个东西,这个EL表达里边隐含了一段隐匿para,到底是对着这一行代码还是这行代码,注意啊,跟它没有关系。对的,是这个。这个引力的派对的是这个。好,我们试试吧,行吧,试一下啊,这边呢,我加一个。比如说IPS吧,IPS。我要拿这个信息。我拿ippspp地址吧,我拿IP我就往配置配的IP怎么配。
29:06
Application parameter IP,那么在这个配置文件里边,应该在这个位置上加一个什么contact para,加一个para name,再加一个para value,啊,这个parent name,它就是什么ID,这个写127.0.0.1行吧,我先把它配上去,我现在就想获取这个127.0.00这个ID地址怎么做?如果你写Java同应该是application get need parameter IP,这样的话,它的值是不是等号?具备输出功能,输出的值一定是。127.0.0.1能理解什么意思吧,试试啊,看行不行关掉啊,这边再重新的部署。然后我们再把服务器启动。直接清空打开。我怎么访问啊,访问一就行了吗?不行还得登是吧,登录啊,登录就访问一吧,访问一的是哪个是这个是吧。
30:05
啊,没没没有一是吧。上面没有一吧,点点点这个吧,点这个啊。有没有?有了吧,哎,跟大家说个事啊,这个东西没必要这样写一点,表达式怎么写,猜一下。刷新。了解吧,啊这样做啊,这个以后咱们会用啊,所以今天呢,我把这个事呢说清楚啊说到这嗯。你好好看一看,叫引力的点IP就拿到了,那能不能不能配多个IP。IPS。
31:02
行吧,配完之后这个IPS复制到哪啊。到这吧,这是不是改成ids啊?能理解吧,啊,它就是个字符串。所以这边呢,我就先还是得关掉啊,因为毕竟呢,改了这个配置文件,那个contact对象什么时候创建的服务器启动阶段只创建一次啊,所以这个时候你得重新启一下,不起呢不起作用这个。再对一下呢,让他重新建一下来刷新。又到这儿了。来,我们再来一次,点它。来,我再刷新。行吧,拿到了吗?最好换个行啊。要么?是不是拿到配置文件里面数据啊,就通过这个拿啊。注意我大家写上,嗯,行吧,就就这么着了啊,就这么着吧,我也不写了啊,你记住在这需要写个什么。
32:04
在外边M内容配个东西,配个配个呃,在外边APP这个标签下配一个contact这个标签啊。好了,这个大家知道就行了。这样的话,这个隐含的对象差不多了。一共是八个是吧。总结一下总结啊,EL的隐含对象一个叫page scope,一个叫request scope request scope啊,Station scope,呃,还有一个叫application scope,还有一个是这个para,还有个是values,还有一个是in para是吧,还有一个啊,Page contact行吧,记住这几个就行了啊EL的隐含配对项。
33:03
遗憾对象。专门从范围中取数据的啊,这是以下四个啊,是专门从。专门从范围对象中读取数据啊,以下这四个。这个对的是什么request.get什么parater是吧?方法这个呢是request.get meter values啊下面这个呢,是对应的是什么application.get in ne pararater嘛,是吧?这跟一个,嗯,跟着这个这个配con,对的,这个不写了啊,这不写了。行了,就这个。
34:06
好了,接下来呢,咱们再来看分析啊,以下程序的区别,以下EL表达式的EL表达式的区别啊,来一起分析一下到了。ABC到了。AABC它俩有什么区别?他俩有什么区别啊?一定要注意啊。它的区别是什么?你想一想,这个是不是就相当于你必须得有一个范围对象request叫set attribute存了一个名字叫ABC,后边写了一个,写了一个东西吧,写了个东西,那你这写这个ABC对的就是谁呀,他吧是不是对的就是它呀,啊,肯定是这样。
35:15
那那你那你这个算个啥东西啊。你知道这个ABC跟这个ABC有关系吗?没有啊,你就是个普通字符块输出吧,所以它会输出普通加个顿号吧,前面是不是什么也没有输出,因为没有纯嘛,所以这个什么也,但是这个会输出什么试试吧,啊是吧。顿号左边没东西,顿号右边有个东西叫什么ABC,那左边没有,上面没有。看见了吧,所以那这边我要说上去,这是从什么,从某个范围对象中取数据吧,取数据啊,Name是什么ABC啊,这个呢,它其实就是啊,将普通字符串什么ABC打印输出到哪啊浏览器啊,打印输出到浏览器上,嗯,就这么一点区别。
36:12
行,再往下看关于EL表达式的加法运算。来一加一,那是对吧,二是吧。行吧,我先看这个。加二来我我我我我来个横线啊行了,那么接下来再来看一下,刷新一下就行了,二吧,好,那我再继续啊。啊。你猜一下这是几啊?
37:01
你会觉得这个加号是字符串连接是吧?嗯,但是你错了三啊。是特殊的东西,我得讲一下是吧,再往下看啊来高了一。加上二。或者十加20吧,所以呢。1020是吧,啊,这是30,就是你只要说你就错。再来一个ABC加一。这个呢,再说还得做ABC是吧,哎。这个是报错了。数字格式化异常for into的词,这种ABC嘛,其实呢,这个加号呢,在EL表达式只能做加法运算,不能做做法连接,它会将两边的所有不是数字的全部转换成数字,明白吧,嗯。
38:15
所以这个就是二,这个就是三,这是30,但是到这之后呢,他由于想将AC转换成数字,结果转换失败了,到了一个异常叫number for except,这个异常也是大家最熟悉的啊,叫数字格式化异常,说ABC没法转。明白吧,所以这点希望大家记住啊,12.344加号只做加班运算,不做字符块连接。只做加法运算啊,只做只完成吧。嗯,只完成求和。不会连接什么字符串啊,不会做连接字符串,或者不会做字符串连接吧,嗯,这样比较合适。
39:06
所以以下啊从句以下程序出现什么异常,出现Java long number ex exception啊这转了吧,行吧。刷一下。这不行,那个报错了啊,这个这不行,我给他废了啊。加号我就说到这,嗯,这个说一下,这个说一下,加号说一下,我再说一个东西啊,关于EL表达式,关于EL表达式中的双等号。
我来说两句