【学习笔记】EL表达式

EL表达式:expression language 表达式的语言

作用:替换何建华jsp也米那种java代码的编写。它不是一种开发语言,而是JSP中获取数据的一种规范。

语法:${表达式}

 

运算

算数运算符:+-*/(dib)%(mod)

比较运算符:><>=<===!=

逻辑运算符:&&(and)||(or)!(not)

${ 100 div 4}<br>
${ 100 mod 4}<br>
${ 3 > 4}<br>
${3 > 4  && 3 < 4}<br>
${3 > 4  and 3 < 4}<br>

空运算符:empty not empty

功能:用于判断字符串、集合、数组的对象是否为null或者长度是否为0

${empty list}<br>
${not empty list}<br>

 

获取数据

EL表达式若获得的值为null,则不会显示,实现的效果类似于

${msg}
<%=session.getAttribute("msg") == null ?"":session.getAttribute("msg") %>

EL表达式只能从域对象中获取值。

1. 获取域对象中存储的数据

格式:${域对象.键名}

从指定域中获取指定键的值

pageScope --> pageContext

requestScope     --> request

sessionScope     --> session

applicationScope   --> application(ServletContext)

如果省略对象,${键名}:
表示依次从最小的域中查找是否有该键对应的值,直到找到为止。

${ s}
${requestScope.s}
${applicationScope.s}

 2. 获取对象、数组、List集合、Map集合的值:

获取对象里属性值的三种方式:

${s.getname()}
${s.name}
${s['name']}

获取数组、List集合里的值:${键名[索引]}

${list[0]}
${list[10]}

获取Map集合里的值:

${map.gender}
${map[gender]}

隐式对象

不需要创建,可以直接使用的对象,类似于jsp中的内置对象。

EL表达式中有11个隐式对象

EL隐式对象引用名称

类型

JSP内置对象名称

说明

pageContext

javax.servlet.jsp.PageContext

pageContext

一样的

pageScope

java.util.Map<String,Object>

没有对应的

pageContext范围中存放的数据,页面范围

requestScope

java.util.Map<String,Object>

没有对应的

请求范围数据

sessionScope

java.util.Map<String,Object>

没有对应的

会话范围数据

applicationScope

java.util.Map<String,Object>

没有对应的

应用范围数据

param

java.util.Map<String,String>

没有对应的

一个请求参数

paramValues

java.util.Map<String,String[]>

没有对应的

重名请求参数

header

java.util.Map<String,String>

没有对应的

一个请求消息头

headerValues

java.util.Map<String,String[]>

没有对应的

重名请求消息头

initParam

java.util.Map<String,String>

没有对应的

web.xml中全局参数

cookie

java.util.Map<String,Cookie>

没有对应的

key:cookie对象的name值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值