EL表达式
都是以$开始以{}结束
例:
1: User user = (user)session.get.Attribute("user");
String sex = user.getSex();
2: ${sessionScope.user.sex}
相比较 EL表达式更为简洁
运算符[]
${sessionScope.user.sex}等于${sessionScope.user["sex"]}
这两种情况是一样的
也可以和[]混合使用 :
${sessionScope.user[0].name}
例如:${user.My-name} 应该改为${user["My-name"]}
EL变量
丛page范围中取值 没取到 在依次到Request Session Application 的范围 没找到 就会回传NULL
EL表达式会做出优化 会显示页面空白 而不会打印输出NULL
属性:Page Request Session Application
EL: PageScope RequestScope SessionScope ApplicationScope
自动转换类型
${param.count+20} 当丛窗体传的值为0 那么这个结果为20
他们的类型一律是String 所以当你要转换其他类型 int float 才能执行运算
String str_count = request.getParameter("count");
int count = Integer.parslnt(str_count);
count = count+20 ;
这是之前的做法
EL隐含对象
隐含对象 类型
PageContext javax.servlet.ServletContext
PageScope java.util.Map
RequestScope java.util.Map
sessionScope java.util.Map
applicationScope java.util.Map
param java.util.Map
paramValues java.util.Map
header java.util.Map
headerValues java.util.Map
cookie java.util.Map
initParam java.util.Map
EL关系运算符
== 或 eq ${5==5} ${5eq5}
!= 或 ne ${5!=5} ${5ne5}
< lt ${3<5} ${3lt5}
> gt ${5>3} ${5gt3}
<= le ${3<=5} ${3le5}
>= ge ${5>=3 } ${5ge3}
EL逻辑运算符
&& 或 and ${A&&B} ${AandB}
|| 或 or ${A||B} ${AorB}
! not ${!A} ${not A}
Empty运算符 主要用于来判断是否为空