el表达式
一、EL概述
EL(Express Lanuage)表达式可以嵌入在jsp页面内部,减少jsp脚本的编写,EL出现的目的就是代替jsp脚本的编写。
1)作用:替换和简化了JSP页面中java代码的编写
2)EL语法:${表达式}
3)注意:JSP默认是支持EL的
4)忽略el表达式:
- jsp中设置指令 isEllgnored=”true“;忽略全部
- \${ 表达式 };忽略当前表达式
二、运算
算数运算符:+-/*
比较运算符:<>!==
逻辑运算符:&& ||
空运算符:用于判断字符串、集合、数组对象是否为null,或者长度是否为0
request.setAttribute("str","一个字符串") // 将一个字符串存储在request域中,键为str。
${not empty str}:// 表示判断字符串、集合、数组对象是否不为null,并且长度>0
三、获取值
el表达式只能从域对象中获取值
1)语法:${域名称.键名},从指定域中获取指定键的值
2)从指定域中获取key:
${pageScope.key};// pageContext域
${requestScope.key};// request域
${sessionScope.key};// session域
${applicationScope.key};// application域
3)在所有域中获取key:依次从最小的域中查找是否有该key对应的值,直到找到为止。
${key};page > request > session > application
4)获取对象属性:${域名称.键名.属性名}
如果键为一个JavaBean对象的话,调用对象的getter和setter方法获取该对象的属性。
// 在request域中存储了name = 张三 ; 获取:${requestScope.name}
// 在Session域中存储了User对象 ; 获取: ${SessionScope.User.对象属性}
5)获取List集合中的值
${域名称.键名[索引]} // List集合
${域名称.键名.key名称} // Map集合
6)获取内置对象:pageContext获取jsp其他8个内置对象
${pageContext.request.contextPath} // 动态获取虚拟目录