EL与JSTL
一 什么是 EL 表达式,EL 表达式的作用?
-
EL 表达式的全称是:Expression Language。是表达式语言。
-
EL 表达式的什么作用:EL 表达式主要是代替 jsp 页面中的表达式脚本在 jsp 页面中进行数据的输出。
-
因为 EL 表达式在输出数据的时候,要比 jsp 的表达式脚本要简洁很多
EL操作符
操作符“.”
获取对象的属性,例如:${news.title}
操作符“[]”
获取对象的属性,例如:${news["title"]} 获取集合中的对象,例如:${newsList[0]}
EL运算符
关系运算符 | 范例 | 结果 |
---|---|---|
== 或 eq | ${5 == 5}**或${5** eq 5} | true |
!= 或 ne | ${5 != 5}**或${5 ne 5}** | false |
< 或 lt | ${3 < 5}**或${3** lt 5} | true |
> 或 gt | ${3 > 5}**或{3** gt 5} | false |
<= 或 le | ${3 <= 5}**或${3 le 5}** | true |
>= 或 ge | ${3 >= 5}**或${3** ge 5} | false |
运算符 | 说明 |
---|---|
( ) | 改变执行的优先级,例如${3(4+5)} |
+,-,*,/,% | 算术运算符,例如${3+2} |
==,!=,>,>=,<,<= | 关系运算符,例如${a==b}或${a eq b} |
&&,||,! | 逻辑运算符,例如${true&&false} |
?: | 条件运算符,例如${a>b?1:2} |
empty | 用于检测变量名是否为空或者没定义或者为空字符串或者没元素的数组或者集合,是否等于NULL,例如${empty name} |
EL 表达式搜索域数据的顺序
当四个域(就是每个类都有EL同名的先执行谁)中都有相同的 key 的数据的时候,EL 表达式会按照四个域的从小到大的顺序去进行搜索,找到就输出。
EL 获取四个特定域中的属性
pageScope ====== pageContext 域 requestScope ====== Request 域 sessionScope ====== Session 域 applicationScope ====== ServletContext 域
JSTL 标签库(次重点)
JSTL 标签库 全称是指 JSP Standard Tag Library JSP 标准标签库。是一个不断完善的开放源代码的 JSP 标 签库。 EL 表达式主要是为了替换 jsp 中的表达式脚本,而标签库则是为了替换代码脚本。这样使得整个 jsp 页面 变得更佳简洁
使用步骤
下载jstl.jar和standard.jar包 将这两个包复制到WEB-INF\lib目录 在JSP页面中添加指令 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
c:forEach标签(常用)
<c:forEach
items="xxx"
begin="xx"
end="xx"
step="xx"
var="xx"
varStatus="xx">
属性 描述 是否必要 默认值
items 要被循环的信息 否 无
begin 开始的元素(0=第一个元素,1=第二个元素) 否 0
end 最后一个元素(0=第一个元素,1=第二个元素) 否 Last element
step 每一次迭代的步长 否 1
var 代表当前条目的变量名称 否 无
varStatus 代表循环状态的变量名称 否 无
${varStatus.index} 此项的索引,从0开始
${varStatus.count} 此项的计数序号,从1开始
${varStatus.first} 此项是否是第一项,布尔值
${varStatus.last} 此项是否是最后一项,布尔值
${varStatus.begin} 此次迭代的起始索引,对应<c:foreach>中begin属性值
${varStatus.end} 此次迭代的终止索引,对应<c:foreach>中end属性值
${varStatus.step} 此次迭代的跳跃步伐,对应<c:foreach>中step属性值
c:if标签(常用)
c:if标签(常用)
<c:if test="condition" var="varName" scope="scope">
……
</c:if>
判断的结果
判断结果存放的作用域
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端