EL是Expression Language的缩写,它是jsp内置的表达式语言,不用引用标签库
EL表达式的格式如:${表达式}
EL表达式不支持用+进行字符串连接
${pageContext.request.contextPath}输出的是当前工程的名字,形如:/myObject
EL表达式代替的是java脚本中的<%= …%>,也就是说EL表达式也是向浏览器端输出数据。EL表达式中不会出现空指针,没有的内容会不显示,不打印null
使用EL表达式获取数据是依次从jsp的四大域中获取,即全域查找,次序是page域,request域,session域最后是application域。如果这四个域中都没有,那么EL表达式就返回一个空字符串,即在页面上什么也不显示。
使用EL表达式从指定域中获取数据
从page域中查找:${pageScope.attribute }
从request域中查找:${requestScope.attribute }
从session域中查找: ${sessionScope.attribute }
从application域中查找:${applicationScope.attribute }
EL表达式运算符
点运算符。就是调用对象的getter方法,没有定义getter方法就不能用。
中括号运算符。[ ]就是调用对象的getter方法
${p.name}=${p['name']}=${p["name"]}
获取List和Map中的值。
如${list},页面上打印形如[1, 2, 3]
map中${map名.key}
${empty “”},可以判断字符串、数据、集合的长度是否为0,为0返回true。empty还可以与not或!一起使用。${not empty “”},null也为true