目录
- EL表达式概述
- EL表达式的格式和作用
- EL表达式的运算
- EL的内置对象
- EL重点
跳转到目录 EL(Express Lanuage)表达式可以嵌入在jsp页面内部,减少jsp脚本的编写,EL 出现的目的是要替代jsp页面中输 出脚本的编写。
EL表达式的格式和作用跳转到目录
- EL表达式的格式:
${EL表达式内容}
相当于 ${} 替代 - EL表达式的作用:
- 从域对象中查找指定的数据。
- 内置对象使用
- 执行运算符
一、从域对象中查找指定的数据 EL中提供 域对象对应的对象
域对象EL中对应的对象pageContextpageScoperequestrequestScopesessionsessionScopeapplicationapplicationScope-
使用格式
${xxxScope.keyName}
${xxxScope["keyName"]}
简化格式: ${keyName}
如果keyName都相同,依次从pageContext域,request域,session域,application域中 获取属性,在某个域中获取后 将不在向后寻找. -
EL获得普通数据
${域名称.键名}
${applicationScope.DATA_IN_APP}
${sessionScope.DATA_IN_SESSION}
${requestScope.DATA_IN_REQUEST}
${applicationScope["DATA_IN_APP"]}
${sessionScope["DATA_IN_SESSION"]}
${requestScope["DATA_IN_REQUEST"]}
${DATA_IN_APP}
${DATA_IN_SESSION}
${DATA_IN_REQUEST}
- EL获取JavaBean对象
${域名称.键名.属性名}
${USER_IN_REQUEST}
${USER_IN_REQUEST.name}
${USER_IN_REQUEST.pwd}
-
EL获取List集合对象
${域名称.键名[索引]}
${list}
${list[0]}
${list[1]}
${list[2]}
-
EL获取Map集合对象
${域名称.键名.key名称}
${域名称.键名["key名称"]}
${mapBean}
${mapBean.u1}
${mapBean.u2}
${mapBean.u3}
${mapBean.u4}
${mapBean.u1.name}-----${mapBean.u1.pwd}
${mapBean['u1'].name}-----${mapBean['u1'].pwd}
${mapBean.u3.name}-----${mapBean.u3.pwd}
${mapBean.u4.name}-----${mapBean.u4.pwd}
EL表达式的运算
跳转到目录 语法:${ 运算表达式 }
, EL 表达式支持如下运算符:
- 关系运算
- 逻辑运算
- 算术运算
- empoy运算符 empty运算是判断一个
对象或者集合是否为空
。返回boolean值。 对象为null时,返回true 如果是空的字符串,返回true 如果是空的Object数组(Object数组.length == 0),返回true 空的集合,返回true 空的map,返回true
跳转到目录
- 获取JSP中域中的数据(pageContext,pageScope,requestScope,sessionScope,applicationScope)
- 在Servlet中获得web应用的名称:
request.getContextPath();
- 在jsp页面上获得web应用虚拟目录()的名称:
${pageContext.request.contextPath}
跳转到目录 问题1:EL表达式搜索四个域对象的顺序?
问题2:如何获取一个对象中的数组元素?
问题3:如何获取一个对象中的map中的元素?
问题4:.运算和【】运算有哪些相同和不同?
问题5:pageScope,requestScope sessionScope applicationScope param分别表示什么?