00:00
啊,我们在说什么是JSP的时候,说一个概念,大家看JSP是什么。是传统的静态网页文件中插入了Java代码片段。JSP标签,Java代码片段。是什么?诶,我们就来看这有个Java代码块,Java代码块就是Java代码片段。中的一种。一二、三这三种都是Java代码片段。先来看第一个Java代码块。他说JSP里边啊,Java代码块也称为JSP脚本。是以这个百分号。监括号,百分号,百分号监控号括起来的,这里边可以写Java代码。那么我们来看啊。
01:03
我们还在这个上面来写啊。大问号,OK?这里边就可以写Java代码了。写什么?比如说我这点out.print line写个。Java。代码。好几个,是不是我写了好几个好了。我现在刷新。走。诶,怎么没显示啊,当然不会显示了,这哪呢C这点out,当然是显显示在控制台的啊,它是显示在控制台的。
02:02
你看这是不是有了。运行了吧,对不对,那么这个Java代码段。他会被JDP翻译引擎翻译到哪儿呢?看一下。看到没,在哪儿呢?他是作为诶没在这儿啊是不是。它是作为Java语句出现在方法中的,看到没出现在surface方法中。你看。那OK了,你看它位置啊,在body结束。标签的前面。HTML注释的后边。你看你这写的是不是他?
03:01
这个东西的后边这个的前面吗。不错吧?那么它可以写到什么地方?只能写到里面吗?不是,可以写到任意位置。比如说。这儿。我我这写一个啊呃,Int amount来个数量,比如说三。好,这一个。我这儿写了一个。然后我给这儿。再写一个。嗯。这样吧,Price价格。这个写个几呢。2.5吧。
04:00
再来一个。再来一个谢娜。写这。Double。Count。党员。不等于了,这样等于零。在这后边我再来一个。Count等于。Kent,诶,这样吧。我写字。Cant等于。乘以price。system.out点了。
05:05
Count等于。Count。看好,这写的够随意了吧,这地方是不是哪儿都行啊这儿。一块儿这儿,一块儿这儿生明那个。变量。Amount这样声明一个变量price,又声明一个变量count,然后呢,这边count就等于amount乘以price,诶。你说他里边能不能用他和他呢。能不能呢?这输出count能不能输出这这count呢。我们想如果说按照刚才我们看到的啊。Java代码块中的。
06:01
这个语句会被JSP翻译引擎翻译到surface方法中。如果都是给它翻译成surface方法。那这直接就可以可以使用,为什么在一个方法里边用到是不是。它里边定义的这种临时变量啊,局部变量对不对,这些东西将来都会出现在一个方法service方法里边,如果是这的话,肯定是能用的。也就是说,这个百监括号、百分号、百分号、监控号,它并不能代表或者说不能限制一个局部变量的作用范围。是不是我们看一下走。反正是没报错对吧,再看。出来了没有?是不是OK了,看等于7.5是不是算出来了,是不是,我们再看一下它翻译的情况。
07:03
看看啊。看前面前面。看到这儿没?在哪呢?在这个的后边有个声明一个变量amount,你看是不是。Do后边是不是声明给他,紧接着price在哪声明的title下边声明的。抬头,下面。是不是生命一个price?紧接着,Count。紧接着countt是不是等于乘以price?最后这是不是输出没问题吧?对不对,他们之间是可以相互访问的。OK,那么从这我们可以知道啊,我们现在要推测了,现在要推测推测什么?第一点,由于Java代码段会被翻译到service方法里边,作为一个普通语句,普通的Java语句出现,所以是语句,这是不是必须得以分号结尾?
08:14
对吧,如果你这不以分号结尾,那就意味着这里边是不是不以分号结尾,不以分号结尾肯定就错了,这第一点。第二点咱们看着啊,看到这儿。声明的变量。是不能添加权限访问控制符的什么意思?在这儿我能不能加一个。Price,不是,呃,Private,我能不能嫁给他呢?这明显在这写的,是不是不能啊,对不对。为什么?你得想一下,为什么你要给这儿加个private就意味着什么?
09:04
就意味着在这加了个private。你在方法里边声明的成员变量不是声明的这个局部变量,能加访问权限控制符吗?不能吧,所以这是第一点。需要注意的啊,第二点能不能定义方法。什么意思,就这样一个意思,我把它去掉了啊。我能不能在这儿?定义一个方法,Public。Wide。比如说叫show data。我能不能这样在里边写一些语句?在里边写一句行不行?显然是不行的。为什么?这些东西会被翻译到哪儿啊,会不会翻译到service方法里边,你如果写到这,就意味着将来在这个service方法里边,在这会出现一个方法。
10:11
Java Java里边允不允许方法的嵌套定义啊?就是一个方法里边再定义另外一个方法。Nono。不允许啊,所以这是需要注意的第二点。不能定义方法。第三,不能定义静态语句块。什么意思?就是他呀。你不能给这来一个static。给这里边儿写上。为什么?原因很简单呢?是不是你写到这个Java代码框里边的,将来会被翻译到。我们的service方法,Service方法里边能写静态代码块吗?静态代码块是放在哪呢类里边的。
11:09
所以他是不能的。对不对,它是不能的,这是需要注意的这三点啊,当然了,还有刚才我们说以分号结尾是不对,在它使用的时候需要注意的这么几点内容。
我来说两句