EL表达式
概念
Expression Language 表达式语言
作用
替换和简化 jsp 页面中 java 代码的缩写
语法
${表达式}
<mark>注意</mark>:
jsp默认使用EL表达式,怎么关闭默认?
<%page isELIgnored=true %>
- 整个页面不用EL\${表达式}
- 仅忽略这个表达式
使用
-
运算符:
- 算符运算符:
+ - * /(div) %(mod)
- 比较运算符:> < >= <= != eq ==
<c:if test = "${list.name eq '门票 '} "> </c:if>
- 逻辑运算符:&&(and) ||(or) !(not)
- 空运算符:empty
== 用于判断字符串、集合、数组对象是否为null 或者 长度是否为 0 ==
<mark>${empty list}</mark>
- 算符运算符:
-
获取值
el
表达式只能从域对象中获取值- 语法:
${域名.键名}
:从指定域中获取指定键的值
域名称:
pageScope ⇒ pageContext
requestScope ⇒ request
sessionScope ⇒ session
applicationScope ⇒ application (ServletContext)
举例:在request域中存储了name=“张三”
获取:${requestScope.name}
${键名}
: 表示从最小的域中查找是否有该键对应的值,直到找到为止。
-
获取对象属性
${域名称.键名称.属性名称}
- 本质上会去调用对称的 getter 方法
- setter 或 getter方法,去掉set或get,再将其余部分首字母变为小写
- setName ⇒ Name ⇒ name
-
List 集合:
${域名称.键[索引]}
-
Map 集合:
${域名称.键名称.key名称}
隐式对象
- el表达式中有11个隐式对象
- <mark>pageContext</mark>
- 获取jsp其他八个内置对象(隐式对象)
${pageContext.request.contextPath}
:动态获取虚拟目录
- 获取jsp其他八个内置对象(隐式对象)
- <mark>pageContext</mark>