EL主要作用:
获取数据:
EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的java对象中获取数据。
1.EL表达式语句在执行时,会调用pageContext.findAttribute方法,用标识符为关键字,分别从page、request、session、application四个域中查找相应的对象,找到则返回相应对象,找不到则返回”” (注意,不是null,而是空字符串)。示例: ${user}
2.
a.读取JavaBean中的数据 示例: ${user.address.city}
b.读取List中的数据 示例: ${user.list[0]}:访问有序集合某个位置的元素
c.读取Map中的数据 示例: ${map.key} : 获得map集合中指定key的值
**!!!!注意:
1.获取数据前一定要把数据放入容器中**
2.若属性名带有特殊符号如减号,要用$user[‘name’]}的方式来读取数据
执行运算:
1.可以使用算数运算符+ - * / %等,如:${user.age+10}
2.可以使用比较运算符 == != < > <= >=等。如:${user.name==’Tom’ && user.age>10}
3.可以使用条件运算符(问号表达式),如:${user!=null ? user.name : “”}
4.empty运算符:检查变量是否为null或“空”,如:${empty user},返回的是true或false
获得web开发常用对象
EL表达式语言中定义了11个隐含对象,使用这些隐含对象可以很方便地获取web开发中的一些常见对象,并读取这些对象的数据。
1.${pageScope.user},表示从page容器中拿user对象
2.${requestScope.user}
3.${sessionScope.user}
4.${applicationScope.user}
以上四个表示从指定容器中读取user,若不写则el表达式在执行时会依次从四个容器中查找
5.${header} 表示一个保存了所有http请求头字段的Map对象,里面的信息都是key=value的形式
6.${param} 表示一个保存了所有请求参数的Map对象,
7.${headerValues} 同上,返回string[]数组。注意:如果头里面有“-” ,例Accept-Encoding,则要headerValues[“Accept-Encoding”]
读取爱好类复选框参数时用法:${headerValues.name[0]}
注意:测试cookie时,例${cookie.key}取的是cookie对象,如访问
cookie的名称和值,须${cookie.key.name}