欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

EL表达式

程序员文章站 2022-09-02 19:22:19
1、EL表达式简介   (1)EL 全名为Expression Language。EL主要作用:   (2)获取数据:   EL表达式主要...

EL表达式

1.EL表达式核心点是将对象存储到某个域中,在需要的页面中直接使用表达式来使用

2.为什么使用EL:写法比jsp简单

3.EL的好处之一: 自动类型转换

<%
//存储
session.setAttribute("name","小黑");
//存储对象
Emp emp = new Emp();
emp.setEname("张飞");
emp.setSex("男");
session.setAttribute("emp",emp);
%>
name:${name}
<hr>
ename:${emp.ename}
sex:${emp.sex}

EL运算

1.关系运算符

== 或 eq 判断是否相等
< 或 lt 判断是否小于
> 或 gt 判断是否大于
empty 判断是否为空
!或not
${empty emp}
${not empty emp}
${emp == null}

2.逻辑运算符

逻辑运算符
&& 或 and 与运算
||或or 或运算
! 或 not 取反运算

3.三元运算

//表达式 1?表达式 2:表达式 3
//如果表达式 1 的值为真,返回表达式 2 的值,如果表达式 1 的值为假,返回表达式 3 的值

${ 1 > 2 ? "1 > 2为真" : "1 > 2为假" }
// 结果为: 1 > 2为假

4.多个作用域有相同的key

<%
request.setAttribute("name","小黑");
application.setAttribute("name","小花");
session.setAttribute("name","小红");
pageContext.setAttribute("name","小绿");
%>
<%--当多个域中有相同的key时,按照作用域的大小,从小到大查找--%>
${name}

5.EL 获取四个特定域中的属性

EL域 JSP域
pageScope pageContext 域
requestScope Request 域
sessionScope Session 域
applicationScope ServletContext 域
<body>
	<%
		// 从上往下, 优先级从高到低
		pageContext.setAttribute("key1", "pageContext1");
		pageContext.setAttribute("key2", "pageContext2");
		request.setAttribute("key2", "request");
		session.setAttribute("key2", "session");
		application.setAttribute("key2", "application");
	%>
	${ key2 }					// 默认选择优先级最高  值:pageContext2
	${ pageScope.key2 }			// 值: pageContext2
	${ requestScope.key2 }		// 值: request
	${ sessionScope.key2 }		// 值: session
	${ applicationScope.key2 }	// 值: 	application
</body>

本文地址:https://blog.csdn.net/weixin_51721670/article/details/111937728