EL表达式

EL表达式

EL表达式的概念

EL(Expression Language,表达式语言)是一种简单的语言,可以方便地访问和处理应用程序数据,而无需使用JSP脚本元素(Scriptlet)或JSP表达式。

EL在容器默认配置下处于启用状态,每个JSP页面也可以通过page指令的isELIgnored属性单独设置其状态。

特点:

  • 可以访问JSP的内置对象(pageContext、request、session、application等),使用EL表达式可以方便的访问四大缓存域中缓存的对象的值;
  • 简化了对JavaBean、数组、集合的访问方式;
  • 可以对数据进行自动类型转换;
  • 可以通过各种运算符进行运算;el表达式支持进行运算;
  • 可以使用自定义函数实现更加复杂的业务功能。

语法:

${el表达式}

注意:

  • $符号开头;{}成对的;
  • EL表达式引擎调用PageContext.findAttribute(String)方法从JSP四大作用域中按照范围从小到大查找;(pageContext、request、session、application)
  • 如果四大作用域中如果有同名的变量,则范围小的覆盖范围大的同名变量的值;【范围最小优先原则;就近原则】
  • 如果需要直接取某个作用域对象中缓存的值可以使用前缀的方式指明读取那个作用域缓存的变量;(推荐用法:指明读取的作用域范围)


    pageContext—>pageScope


    request---->requestScope


    session---->sessionScope


    application---->applicationScope
  • 在使用EL表达式访问某个变量时,应该指定查找的范围,从而避免在不同作用范围中有同名属性的问题,同时也提高了查询效率;
  • 对于常见的对象属性、集合数据的访问,EL提供了两种操作符:“.”操作符和“[]”操作符;
  • 如果el读取的是对象的属性值,则要求对象的属性提供getter方法接口;
  • el表达式一定要在jsp页面中才能运行,单纯的html页面是不支持el表达式的;

对以下几种常见错误的处理方式:

  • 在EL中访问一个不存在的变量,则表达式输出空字符串,而不是输出“null”;
  • 在EL中访问一个不存在对象的属性,则表达式输出空字符串,而不会抛出NullPointerException异常;
  • 在EL中访问一个存在对象的不存在属性,则表达式会抛出PropertyNotFoundException异常。

作用:

  • 在jsp页面中替代jsp的java脚本从作用域对象中获取缓存的变量的值;
  • 保证jsp页面中不会再出现java脚本代码;符合mvc规范;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值