JSP之EL表达式

总结:
监听器的应用场景.
由于ServletRequest,HttpSession,ServletConText对象都是容器创建.通过对这些
对象注册监听器,就可以得知何时创建或销毁了他们
比如:
1.在容器启动时才加载框架容器
2.在contextDestroyed方法中对应用的级别的资源进行释放
3.统计在线人数

EL,JSTL
EL表达式:
为什么需要EL表达式和JSTL标签
.JSP中嵌套的大量java代码增加了页面内容的复杂度,使得页面不够简洁.不方便代码的维护
.为此sun公司制定了jsp标签(类似于html标签)来代替java代码
.Apache组织开发的一套标签被sun公司整合后,称为标准标签库(JSP Standard Tag Library即JSTL),
配合EL表达式,以达到减轻JSP文件的复杂度,方便维护JSP文件的目的

什么是EL表达式:
EL(Expression Language)表示是一套简单的计算规则,用于给JSP标签的属性赋值,也可以直接用于输出
.表达式也可以脱离标签单独使用

EL表达式的作用:
.EL表达式的作用可以分为以下几类:
-访问bean的属性
-输出简单的运算结果
-获取请求参数值

使用EL表达式访问Bean属性
.通常情况下javaBean指的是一个公共的类,含有一个空参的构造函数,一些属性以及访问这些
属性提供的get/set方法,方法名与属性名需要符合一定的规范
使用EL表达式访问Bean属性时可以使用如下两种方式
-方式一:${对象名.属性}
-方式二:${对象名["属性名"]}

page和pageContext的区别:
page:表示jsp页面本身
pageContext:表示当前页面的上下文对象:表示一个空间,可以放值也可以取值,作用范围
仅限当前页面(可以从页面的任何一个通过java小脚本的方式获取pageContext对象)

.执行过程:容器会依次从pageContext,request,session,application中查找绑定名称
为"user"的对象,找到后调用getName的方法,然后输出

EL表达式和java小脚本的比较
-如果request没有user对象
1.java小脚本报空指针,500的异常
2.而el表达式输出空白

-如果没有name属性赋过值
1.java小脚本输出null
2.而el表达式输出""

小结:
以${user.name}方式访问会避免上段产生的问题
两种写法对比后,el表达式具备了简介,以及会将null转换成""输出的特性
ps:使用el表达式属性名不能写错,否则报错

使用EL表达式时类的属性名首字母保持小写,取值时首字母也要保持
小写(el表达式本身的缺陷)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值