JavaEE,EL表达式与jstl标签库

1 EL表达式-获取数据

主要作用:更方便获取数据;

${} 合并了 获取加输出

1.1介绍、特点

  1. 可以获取作用域对象中的数据。

  2. 底层使用的是反射,在使用的时候可以通过键名即可获取对应的值。

  3. 简化了在jsp页面中使用<%%>获取域对象数据的方式。

基本语法:

1.${键名},键名是域对象中存储的数据的键。

  1. ${键名.属性名.属性名...},可以获取域对象中级联属性的值。

  2. ${键名角标},获取域对象中存储的list集合或者数组中指定角标的数据。

  3. 注意:${}不仅可获取域对象中的数据,而且会将该数据打印到浏览器中。如果获取不到数据,也不会报错,只是不显示而已。

1.2 获取作用域中数据

作用域数据查找顺序

使用EL表达式获取域数据的时候,如果没有指明作用域,那会按照作用域由小到大的顺序去找,直到找到为止:

pageContext ---> request ---> session ---> application

  1. 获取page域中数据 ${pageScope.键名}
  2. 获取请求域中数据 ${requestScope.键名}
  3. 获取会话域中数据 ${sessionSocpe.键名}
  4. 获取应用域中数据 ${applicationScope.键名}

1.3 获取请求参数(request对象)

${param.键名},可以获取request中携带的请求参数的数据

1.4 获取cookie数据

${cookie.key .name} 获取cookie中JSESSIONID的key value

${cookie.key .value}

1.5 使用比较运算符和算数运算符

${键名 逻辑运算符 键名}

${键名 算术运算符 键名}

注意: + 表示的是算术运算,而不是字符串拼接。

2 JSTL标签库-操作数据

使用jstl标签库 操作 el表达式获取的数据

2.1介绍

JSTL标签库是第三方发明的自定义的标签,每个标签都有自己特定的含义表示一个具体的java逻辑。我们要在JSP中使用JSTL必须使用taglib标签引入第三方的标签库资源。

​标签库的内容有:

  1. 核心标签库

  2. SQL标签库

  3. 函数标签库

  4. 格式化标签库

  5. XML标签库

2.2 使用

导入对应jstl的jar包

使用时自动引入依赖

常用标签:

c:if标签的作用就相当于Java中的if判断

格式是: <c:if test="${EL 比较运算符 值}">条件成立输出的内容</c:if>

c:for循环遍历标签

<c:forEach items="${list}" var="emp"> items表示要遍历的集合 var为集合中的每个元素

{emp.id}---{emp.name}---${emp.position} <br>

</c:forEach>

Begin从0开始 end到10结束 变量i step:步长,每次+1

<c:forEach begin="0" end="10" var="i" step="1" varStatus="status">

{i} --- {status.index}

</c:forEach>

fmt:日期格式转换

<fmt:formatDate value="${map.hiredate}" pattern="yyyy-MM-dd hh:mm:ss"/>

相关推荐
cm04Z9c919 分钟前
C#摸鱼实录——IoC与DI案例详解
开发语言·c#
long31641 分钟前
Java 新手入门与实战开发指南
java·开发语言
摩西蒙1 小时前
计算机网络
开发语言·计算机网络·php
山峰哥1 小时前
数据库性能救星:Explain执行计划深度拆解
服务器·开发语言·数据库·sql·启发式算法
执笔画流年呀1 小时前
Linux搭建Java项目部署环境
java·linux·运维
程序员天天困1 小时前
Arthas ognl 表达式从入门到实战:掌握在线调试最强的表达式引擎
java·jvm·后端
IT_Octopus2 小时前
Spring Boot 中 ThreadLocal 请求上下文的完整生命周期
java·spring boot·spring
用户40966601317512 小时前
Lombok 你用对了吗?@Data 之外的 6 个隐藏神器
java·后端·代码规范
梅头脑2 小时前
交易跨10个库、日均千万订单——选错一次分布式事务方案,加班三个月重写
java·分布式
久久学姐2 小时前
基础转码学 AI:Java+Python 双语言入门,3 个月可落地实战项目
java·python·ai·转码·实战项目