EL表达式_基本知识
在jsp中使用对象获取数据,较为麻烦,于是有了EL表达式。
一、数据来源
它只能获取到pageContext、request、session、application对象中的数据。
默认优先级:
pageContext---->request---->session---->application
指定查找:
//在pageContext中查找指定数据 ${pageScope.键名} //在request中查找指定数据 ${requestScope.键名} //在session中查找指定数据 ${sessionScope.键名} //在application中查找指定数据 ${applicationScope.键名}
二、获取数据
基本格式:
获取到则返回指定数据,获取不到则返回空。
${表达式}
1、request对象中的数据(表单信息)
//单个数据的值 ${param.键名}
//同名多个数据,获取第一个数据的值
${paramValues.键名[0]}
2、通过setAttribute储存的数据
//普通字符串,直接获取 ${键名} //普通对象:获取对应属性值 ${键名.属性名} //对象中含义成员对象:获取成员对象的属性 ${键名.成员对象名.属性名} //集合对象 //list集合 ${键名[角标]} //map集合 ${键名.map集合的键名}
3、请求头数据和Cookie数据
3.1请求头中数据
//获取请求头所有数据 ${header} //获取指定键名的数据 ${header["键名"]} //获取同名多值的数据的数组,通过索引获取里面的元素 ${headerValues["键名"]}
3.2Cookie中的数据
//获取所有cookie对象(键值对),是一个map集合 ${cookie} //获取指定的cookie对象 ${cookie.键名} //获取指定cookie对象的键名 ${cookie.键名.name} //获取指定cookie对象的值 ${cookie.键名.value}
三、简单运算
1、逻辑运算
判断字符串是否相等使用eq关键字,例子:${'lurenjia' eq 'sss'} 返回false。
//与或非、等于,不等于,大于,小于,大于等于,小于等于、三目运算 ${逻辑表达式}
2、算术运算
//加减乘除、取余取模、不能做字符串拼接 ${算术表达式}
3、空值判断
注意,对象创建后会给变量默认赋值。
//判断属性值是否为空 ${empty 键名}