EL——表达式概述运算内置对象
Posted linjing111
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EL——表达式概述运算内置对象相关的知识,希望对你有一定的参考价值。
EL概述
EL(Express Lanuage)表达式可以嵌入在jsp页面内部,减少jsp脚本的编写,EL 出现的目的是要替代jsp页面中输 出脚本的编写。
EL(Express Lanuage)表达式可以嵌入在jsp页面内部,减少jsp脚本的编写,EL 出现的目的是要替代jsp页面中输 出脚本的编写。
1.EL表达式的格式:${EL表达式内容}
相当于${}代替<%%>
2.EL表达式的作用:
1.内置对象的使用
2.对域对象中查找指定对象
3.执行运算符
3.从域对象中查找指定的数据
域对象 EL对象
pageContext pageScope
request requestScope
session sessionScope
application applicationScope
4.使用格式
${xxxScope.keyName}
${xxxScope[‘keyName‘]}
简化:${keyName}
如果keyName都相同,依次从pageScope,requestScope,sessionScope,applicationScope中获取属性,在某个域中获取后,将不再向后寻找
5.EL获得数据
1.普通数据
${域名城.键名}
<!--获取域对象中保存的数据-->
<%=application.getAttribute("DATA_IN_APP")%>
<%=session.getAttribute("DATA_IN_SESSION")%>
<%=request.getAttribute("DATA_IN_REQUEST")%>
<hr>
<%-- 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"]}
<%-- el取值的简化方式(key的值相同时,从域对象范围最小的先获取) --%>
${DATA_IN_APP}
${DATA_IN_SESSION}
${DATA_IN_REQUEST}
<%-- el取值的简化方式(key的值相同时,从域对象范围最小的先获取) --%>
<%-- 获取JavaBean对象 --%> ${USER_IN_REQUEST}
<%-- 获取JavaBean对象的name属性 --%> ${USER_IN_REQUEST.name}
${USER_IN_REQUEST.pwd}
3.EL获取List集合对象
${域名称.键名[索引]}
<%-- 获取JavaBean对象 --%> ${USER_IN_REQUEST}
<%-- 获取JavaBean对象的name属性 --%> ${USER_IN_REQUEST.name}
${USER_IN_REQUEST.pwd}
<%-- el取值的简化方式(key的值相同时,从域对象范围最小的先获取) --%>
<%-- 获取集合对象 --%> ${list}
<%-- 获取集合对象的元素 --%> ${list[0]} ${list[1]} ${list[2]}
4.EL获取Map集合对象
<%-- 获取集合对象 --%> ${list}
<%-- 获取集合对象的元素 --%> ${list[0]} ${list[1]} ${list[2]}
<%-- el取值的简化方式(key的值相同时,从域对象范围最小的先获取) --%>
<%-- 获取集合对象 --%> ${mapBean}
<%-- 获取map集合对象的bean元素 --%>
#EL表达式的运算
1.关系运算符
==或者eq 等于 ${5==5}或者${5eq5}
!=或ne 不等于 ${5!=6}或者${5ne6}
<或lt 小于 ${5<6}或者${5lt5}
>或gt 大于 ${5>4}或者${5gt4}
<=或le 小于等于 ${5<=5}或者${5le5}
>=或ge 大于等于 ${5>=5}或者${5ge5}
2.逻辑运算符
&&或and 与运算 ${ 12 == 12 && 12 < 11 } 或 ${ 12 == 12 and 12 < 11 }
||或or 或运算 ${ 12 == 12 ll 12 < 11 } 或 ${ 12 == 12 or 12 < 11 }
!或not 非运算 ${ !true } 或 ${not true }
<%-- 获取集合对象 --%> ${mapBean}
<%-- 获取map集合对象的bean元素 --%>
${mapBean.u1}<br>
${mapBean.u2}<br>
${mapBean.u3}<br>
${mapBean.u4}<br>
<%--获取集合中mapbean对象的属性--%>
${mapBean.u1.name}-----${mapBean.u1.pwd}<br>
${mapBean[‘u1‘].name}-----${mapBean[‘u1‘].pwd}<br>
${mapBean.u3.name}-----${mapBean.u3.pwd}<br>
${mapBean.u4.name}-----${mapBean.u4.pwd}<br>
3.算术运算符
+ 加 ${ 12 + 18 }
- 减 ${ 18 - 8 }
* 乘 ${ 12 * 12 }
/或者div 除 ${ 144 / 12 } 或 ${ 144 div 12 }
%或mod 取模 ${ 144 % 10 } 或 ${ 144 mod 10 }
4.empty运算符
empty运算是判断一个对象或者集合是否为空。返回boolean值。
*判断字符串,集合,数组对象是否为null或者长度为0
*${empty 键名}:判断指定键名的值是否为空
*${not empty 键名}:判断指定键名对应的值是否不为空或者不为0
EL内置对象
*pageContext
*requestScope
*sessionScope
*applicationScope
1.在Servlet中取得web应用的名称:request.getContextPath()
2.在jsp页面上获得web应用虚拟目录()的名称:${pageContext.request.getContextPath}
以上是关于EL——表达式概述运算内置对象的主要内容,如果未能解决你的问题,请参考以下文章
JSP编程专题2之JSP核心二(EL表达式,EL运算符以及除了和四个域属性空间相关的EL内置对象)