EL表达式
- 概念:Expression Language 表达式语言
- 作用:替换和简化jsp页面中Java代码的编写
- 语法:
${表达式}
- jsp默认支持EL表达式,如果要虎烈EL表达式(即使得EL表达式不起作用)
- 设置jsp中page指令中:isELIgnored="true"忽略当前页面中所有的el表达式
- ${表达式}:忽略当前这个表达式
- 作用:
- 运算
- 运算符:
- 运算符:+ - * /(div) %(mod)
- 比较运算符:和Java相同
- 逻辑运算符:&&(and) ||(or) !(not)
- 空运算符:emlpty
- 功能:用于判断字符串、集合、数组对象是否为null并且长度是否为0
- ${empty list}
- ${not empty str}
- 运算符:
- 获取值
- el表达式只能从域对象中获取值
- 语法:
- ${域名称.键名}:从指定域中获取指定键的值
域名称 1. pageContext --> pageScope 2. request-->requestScope 3. session-->sessionScope 4. application(ServletContext) -->applicationScope
- 举例:在request域中存储了name=张三
- 获取:${requestScope.name}
- ${键名}:表示依次从最小的域中去查找是否有该键对应的值,知道找到为止。
- 获取对象、List集合、Map集合
- 对象:${域名称.键名称.属性名}(本质上是调用了对象的getter方法
- List集合:${域名称.键名[索引]}
- Map集合: 域 名 称 . 键 名 . k e y 名 或 {域名称.键名.key名}或 域名称.键名.key名或{域名称.键名[“key”]}
- ${域名称.键名}:从指定域中获取指定键的值
- 运算
- 隐式对象(不用创建可以直接拿来用的对象):在EL表达式中有十一种隐式对象(只了解其中的几个)
- pageScope
- requestScope
- sessionScope
- appplicationScope
- pageContext:获取jsp其他八个内置对象,最重要的对象是request,通过request对象动态地获取它的contextPath路径