1.EL的表达式构造: ${expression};
2.${a+b}${c+d} : 如果a+b=10,c+d = 8 则表达式为108;
3.[ ]和 . 运算符:可以用这两个表达式访问该属性。 如:${ pageContext["request"]};如果第一个返回值是一个对象,则可以用其访问第二个属性。
4.运算规则: EL的运算规则是从左到右的,对于像expr-a[expr-b]这种表达式,其运算规则是:
1.运算expr-a 得到value-a;
2.如果value-a 为null 则返回null;
3.运算expr-b 得到value-b;
4.如果value-b为null,则返回null;
5.如果value-a的返回值为java.util.Map,则看value-b是否为Map中的一个键,如果是,则返回value-a.get(value-b);否则返回null;
6.如果value-a 不是Map、List 或者数组,value-a 就必须是一个javaBean,这时候就要强制value-b为String。
5. 访问javaBean ${beanName[''propertyName'']}
EL 的隐式对象
对象 描述
pageContext 当前jsp页面的javax.servlet.jsp.PageContext
initParam 包含所有context初始化参数名称作为键的Map
param 用于获取一个请求参数。这个对象表示一个包含所有请求参数的Map.
param value 可以获取一个请求参数的多个值。
header 表示一个包含所有请求标头的Map
headerValue 表示一个包含所有请求标头的并以标头名称作为键的Map
cookie 获取一个cookie
applicationScope
sessionScope 包含HttpSession对象中所有属性并以属性名称作为键的Map
5.EL 的其他运算符
5.1 算术运算符 关系运算符 逻辑运算符 条件运算符 empty运算符