EL表达式

来源:互联网 发布:mac版qq游戏 编辑:程序博客网 时间:2024/06/07 05:14

1.语法结构

${"小明"}输出小明
${"123"+1}输出124
${A.age} AjavaBeans对象,才能取出age属性。

2.[]与.运算符

当要取的属性名称包含一些特殊字符时,或是需要动态取值


EL访问List和数组的方法
${list[1]}或${list["1"]}
"1"会被转化为整形
EL访问Map
${map["one"]} 或 ${map.one}
不能写成${map[one]}
注意:这里千万不能用 ${map[one]} 因为下标里面的东西如果不加引号,它就相当于
一个属性,容器编译的时候就会去寻找one属性,相当于${one},找不到,当然就错了
中括号里面是可以嵌套表达式的,但是,中括号里面的表达式是去掉${}的.

3.EL变量

${data},默认取值顺序,page,request,session,application
也可以指定范围${pageScope.data},${requestScope.date},${sessionScope.data},${applicationScope.data}
它们都是隐含对象。

4.自动类型转换

${conunt+10},如果count里面存放一个数字类型的字符串或是相关的类型,会自动转换后运算。

5.隐含对象

PageContext
pageScope
requestScope
sessionScope
applicationScope
param 
相当于request.getParameter{} 返回一个String类型的值


paramValues 
回传一个String[]类型,用于那种一个name对应有多个value的情况,
如果是一个value也要用数组取第一个元素才能获得值。


header 
获取头信息


headerValues 
${header.cookie }
${headerValues.cookie[0] }类似于paramValues,返回的values是一个数组


cookie
${cookie.里面的属性名.value}


initParam
(注意P是大写的)获取<context-param/>里面的值

6.EL算术运算符

+, - ,*,/(div),%(mod)

7.EL关系运算符

==(eq),!=(ne),<(lt),>(gt),<=(le),>=(ge)

8.EL逻辑运算符

&&(and),||(or),!(not),

9.其他EL运算符

${empty A}当A为null时返回true
()决定运算先后顺序

10.EL函数
























0 0
原创粉丝点击