EL表达式

EL表达式,expression language 表达式语言。

语法:${表达式},将表达式中结果展示到页面上,需要注意的是,EL表达式获取数据时,必须从作用域中获取:page,request.session,application

特点: 如果El表达式获取不到内容,不会显示null,也不会报错,空白显示,El表达式不能实现逻辑处理(选择判断,循环)。

如果多个作用域中存在同名key,默认的获取顺序是从小到大作用域,如果获取到了对对应的值,则不会再继续下一个作用域寻找。但是也可以指定作用域获取${xxxScop.key}

对于复杂类型只能获取单个元素${key[index]}

对于自定义数据类型${key.属性名}

EL表达式在获取属性值时,通过getXXX方法来进行获取,所以私有属性可以在EL表达式中直接获取

EL表达式有以下特点:
1 自动类型转换。
  在使用EL得到某个数据时可以自动转换类型,对于类型限制比较宽松
2 使用简单。
|语法:
      ${表达式}
---1点操作符
                 xxx x = new xxx();
                       x.set();
                       request.setattribute("key",x);
       例如:${key.get}可以访问x对象的y属性
---2[]操作符
       与点类似,[]操作符也可以访问对象的某个属性,如:${x[y]}
        -当属性名包含了特殊字符如:.或-等的情况下,就不能使用点操作符来访问。这时只能用[]操作符。
        -访问数组,如果有一个对象名为array的数组,那么可以根据索引值来访问其中的元素,如${array[0]},${array[1]}
        -[]操作符中可以使用变量实现动态访问,如${x[y]}  y是另一个变量,改变其值可以动态访问x的不同属性。
        -一般情况下,.和[]可以互换。在互换时[]内加""。指定索引时不可互换。
|指定作用域获取:${ ***Scope.key}
|pagecontext   获取内置对象
|param(单个)        paramvalues(多个)   获取用户在页面上输入的数据。


|关系操作符
关系操作符            说明                 示例                  
==或者eq              等于                ${1==3}或者${2 eq 5}
!-或者ne                不等于             ${2!=5}或者${5 ne 7}
>或者 gt                大于               ${1>9}或者${5 gt 2}
<或者 lt                 小于               ${1<12}或者${5 lt 1}
>= 或者ge            大于等于         ${5>=9}或者${5 ge 5}
<=或者le             小于等于          ${9<=4}或者${2 le 1}
|逻辑操作符
逻辑操作符                 说明              示例
&&或者and             逻辑与              ${A && B}或者${A and B}
||或者or                    逻辑或               ${A || B}或者${A or B}
! 或者 not                 逻辑非             ${ !A }或者${ notB }
|Empty操作符
是一个前缀操作符,用于检测变量值是否是null或者为empty
 例如:变量a不存在   ${empty a}返回true    ${not empty a}返回false

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值