EL表达式

一、概念
  • EL表达式: 全程Expression Language,一种写法非常简单的表达式;
  • 作用: 让jsp写起来更加方便,简化在jsp中获取作用域或对象强转请求数据的写法,也会搭配JSTL来使用;
  • 语法结构: ${表达式}
  1. 如果是通过request.setPartner存的数据: ${param.键名}获取;
    request.setParameter中有同键不同值数据: ${paramvalues.键名}获取,返回数组;
  2. 如果通过request.setAttribute()存的对象数据: ${键名}获取;
    普通对象: ${键名.属性名.属性名…}
    list集合: ${键名[下标]}
    map集合: ${键名.map集合存储的键名}
  3. EL表达式四大作用域数据查找顺序:
    默认从pageContext从小到到大依次查找,就到则不往后查找;
    若要指定具体的作用域查找,使用 作 用 域 名 + S c o p . 键 名 , 如 : {作用域名+Scop.键名},如: +Scop.,:{pageScope.name}, r e q u e s t S c o p e . n a m e , {requestScope.name}, requestScope.name,{sessionScope.name},${applicationScope.name}
  4. EL表达式逻辑运算: 如:$ {a+b},$ {4>2},"+"号表示算术运算,不表示字符连接,${1+“3”}会将引号中的3转换为数字参与运算;
  5. EL表达式空值判断: ${empty 键名},如果为空返回true;
  6. EL获取请求头数据: $ {header.键名}或者${header[“键名”]};
  7. EL获取cookie: $ {cookie.cookie名},$ {cookie}(获取到所有cookie对象的map集合)
  • 特点: 只能获取四大作用域中的对象或数据,找不到不报错,也不显示;
jsp传统方式获取request域中的数据或对象:
//获取参数
<b><%=requst.getParameter("name") %></b>
//获取对象
<b><%=requst.getAttribute("str") %></b>
//获取List
<b><%=((ArrayList)requst.getAttribute("list")).get(0) %></b>
//获取map
<b><%=((HashMap)requst.getAttribute("map")).get("name") %></b>
传统方式获取数据的缺点:
  • 需要在jsp的page指令中导包;
  • 对象需要类型强转;
  • 提取数据过于繁琐;
使用EL表达式获取数据的方式:
//获取参数
<b>${param.name}</b>
//获取对象
<b>${str}</b>
//获取List
<b>${list[0]}</b>
//获取map
<b>${map.name}</b>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值