JSP EL表达式

JSP EL 表达式介绍:

一:JSP el语言定义
el:expression language //表达语言
目的:为了使JSP写起来更加简单
简介:
1.语法格式: ${expression}
2.[ ]. 运算符
EL提供".“和”[ ]"两种运算符来存取数据。
当要存取的属性名称包含一些特殊字符。如 .等并非字母或数字的符号,就一定要是用" [ ]"
例如:${user.My-Name} 应当改成 ${user["My-Name"] } 且如果动态取值时,就可以用 " [ ]"来使用。而 " ."无法取动态值
3.变量
EL存取变量数据:格式${username} //取出某一范围名称为username的变量
如果取不出返回null
取值范围:page>request>session>application
El表达式的语法
${表达式}

EL表达式的使用
EL表达式获取请求数据

获取用户请求数据(请求实体)
${param.键名} 获取请求实体中一个键一个值的数据
${paramValues.键名} 获取请求实体中同键不同值的数据,返回的是String数组,可以使用角标直接获取 例如:爱好

获取请求头数据
${header} 返回所有的请求头数据,键值对形式
${header[“键名”]} 返回指定的键的请求头数据
${headerValues[“键名”]}

获取Cookie数据
${cookie} 获取所有的Cookie对象 键值对
${cookie.Cookie对象的键名} 获取存储了指定Cookie数据的Cookie对象
${cookie.Cookie对象的键名.name} 获取存储了指定Cookie数据的Cookie对象的存储的键
${cookie.Cookie对象的键名.value}获取存储了指定Cookie数据的Cookie对象的存储的值

EL表达式获取作用域数据

作用域对象:pageContext request session application
作用域数据:我们使用setAttribute方法存储的数据

获取:
普通字符串数据 ${键名}
对象数据 ${键名.属性名}

集合数据
list集合 ${键名[角标]}
Map集合 ${map集合作用域存储的键名.map集合存储的数据的键名}

作用域数据查找顺序:如果找到了则不再查找,如果找不到,则继续查找下一个作用域,如果四个作用域中都没有则什么都不显示
pageContext–>request–>session–>application

指定作用域获取数据:

${pageScope.键名} 指明获取pageContext作用域中的数据
${requestScope.键名} 指明获取request作用域中的数据
${sessionScope.键名} 指明获取session作用域中的数据
${applicationScope.键名} 指明获取application作用域中的数据

EL表达式的empty判断
${empty 键名}
作用:
判断该键是否有存储有效数据 true为空

二:隐含对象
JSP有9个隐含对象,而EL也有自己的隐含对象。EL隐含对象总共有11 个

在这里插入图片描述

在JSP页面获取数据

1 servlet产生数据,取出来

<%String data="abcd"
request.setAttribute("data",data);%>
//存在request域里边,返回给jsp

${data}翻译成 pageContext.findAttribute("data") page域 >request域>session域>application域(由小到大去查找)
就不用good.get神魔东西的了,特别舒服

2 servlet在javabean中
收到请求,产生perso对象

<%Person p=new Person();
p.setName("aaa")
request.setAttribute("person",p)%>
${person.name} 

翻译成pageContext.findAttribute("person") page >request>session>application

3 <%
List list=new ArrayList();
list.add(new Person(“aaa”));
list.add(new Person(“bbb”));
list.add(new Person(“ccc”));
request.setAttribute(“list”,list);
%>集合带给JSP显示

${list [ 1].name}

4 <%
Map map=HasnMap();
map.put(“aa”,new Person(“aaaaaa”));
map.put(“bb”,new Person(“aaaaaa”));
map.put(“cc”,new Person(“aaaaaa”));
map.put(“dd”,new Person(“aaaaaa”));
request.setAttribute(“map”,map);
%>把数据通过map结合
传过来

${map.bb.name}

用EL表达式在取数据时,通常用 . 号, . 号如果取不出来,用 [ ]号

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值