EL表达式的简单使用

EL(Express Lanuage)表达式可以嵌入在jsp页面内部,减少jsp脚本的编写,EL 出现的目的是要替代jsp页面中输出脚本的编写。

EL表达式的作用

格式: ${EL表达式的内容}
EL表达式的作用

  1. 从域对象中查找指定的数据。
  2. 内置对象使用
  3. 执行运算符

从域中获取数据

EL获得request域中的值: ${requestScope.key};
EL获得session域中的值: ${sessionScope.key};
EL获得application域中的值: ${applicatioScope.key};

EL从四个域中获得某个值${key};
同样是依次从pageContext域,request域,session域,application域中 获取属性,在某个域中获取后
将不在向后寻找

EL获取普通数据
<%@ page contentType="text/html;charset=UTF‐8" language="java" %>
<html>
	<head>
		2. EL获得javaBean对象的值 3. EL获得List
		<String>的值
			<title>Title</title>
	</head>

	<body>
		<%‐‐ 存储普通数据 ‐‐%>
		<%
			//向request域中存储数据
			request.setAttribute("name","zhangsan");
			//向session域中存储数据
			request.getSession().setAttribute("name","lisi");
			//向servletContext域中存储数据
			getServletContext().setAttribute("name","wangwu");
		%>
		<h1>取出request域中的数据</h1> ${requestScope.name}
		<h1>取出session域中的数据</h1> ${sessionScope.name}
		<h1>取出servletContext域中的数据</h1> ${applicationScope.name}
		<h1>按照域的从小到大依次搜索域数据</h1> ${name}
	</body>

</html>
EL获取JavaBean对象的值
<%@ page contentType="text/html;charset=UTF‐8" language="java" %>
<html>

	<head>
		<title>Title</title>
	</head>

	<body>
		<%‐‐ 存储User实体数据 ‐‐%>
		<%
			User user = new User("tom",18);
			request.setAttribute("user",user);
		%>
		<h1>取出User的数据</h1> ${user.username}==${user.age}
	</body>

</html>
EL获得List< String>的值
<%@ page contentType="text/html;charset=UTF‐8" language="java" %>
<html>

	<head>
		<title>Title</title>
		4. EL获得List
		<User>的值 5. EL获得Map
			<String,User>的值
	</head>

	<body>
		<%‐‐ 存储List<String>数据 ‐‐%>
		<%
			List<String> strList = new ArrayList<>();
			strList.add("aaa");
			strList.add("bbb");
			strList.add("ccc");
			request.setAttribute("strList",strList);
		%>
		<h1>取出strList的数据</h1> ${strList[0]}==${strList[1]}
	</body>

</html>
EL获得List< User>的值
<%@ page contentType="text/html;charset=UTF‐8" language="java" %>
<html>

	<head>
		<title>Title</title>
	</head>

	<body>
		<%‐‐ 存储List<User>数据 ‐‐%>
		<%
			List<User> userList = new ArrayList<>();
			User user2 = new User("lucy",20);
			userList.add(user);
			userList.add(user2);
			request.setAttribute("userList",userList);
		%>
		<h1>取出userList的数据</h1> ${userList[0].username}==${userList[0].age}
		<br/> ${userList[1].username}==${userList[1].age}
		<br/>
	</body>
</html>
EL获得Map<String,User>的值
<%@ page contentType="text/html;charset=UTF‐8" language="java" %>
<html>

	<head>
		<title>Title</title>
	</head>

	<body>
		<%‐‐ 存储Map<String,User> ‐‐%>
		<%
			Map<String,User> userMap = new HashMap<>();
			1.3.2 EL的内置对象
			获取JSP中域中的数据(pageScope,requestScope,sessionScope,applicationScope)
			pageContext - WEB开发中的pageContext.
			获得web应用名称:${pageContext.request.contextPath}
			在Servlet中获得web应用的名称:request.getContextPath();
			在jsp页面上获得web应用的名称:${pageContext.request.contextPath}
			1.3.3 EL执行运算符
			1. 算数运算符 + - * / %
			2. 逻辑运算符 && || !
			3. 比较运算符 > < >= <=
			4. Null运算符 empty
			5. 三元运算符
			userMap.put("user1",user);
			userMap.put("user2",user2);
			request.setAttribute("userMap",userMap);
		%>
		<h1>取出userMap的数据</h1> ${userMap.user1.username}==${userMap.user1.age}
		<br/> ${userMap.user2.username}==${userMap.user2.age}
		<br/> ${userMap['user1'].username}==${userMap['user1'].age}
		<br/> ${userMap['user2'].username}==${userMap['user2'].age}
		<br/>
	</body>
</html>

EL的内置对象

获取JSP中域中的数据(pageScope,requestScope,sessionScope,applicationScope)
pageContext - WEB开发中的pageContext.
获得web应用名称:${pageContext.request.contextPath}
在Servlet中获得web应用的名称:request.getContextPath();
在jsp页面上获得web应用的名称: ${pageContext.request.contextPath}

EL执行运算符

  1. 算数运算符 + - * / %
  2. 逻辑运算符 && || !
  3. 比较运算符 > < >= <=
  4. Null运算符 empty
  5. 三元运算符
<%‐‐再当前jsp导入ArrayList‐‐%>
<%@ page import="java.util.ArrayList" %>
<%@ page contentType="text/html;charset=UTF‐8" language="java" %>
<html>

	<head>
		<title>el表达式可以执行运算符
			<</title>
	</head>

	<body>
		${3==3}<br> ${3>=4}
		<br> ${3<5}<br>
		${3!=3}<br> ${3+4}
		<br> ${3==3&&3<4}<br>
		${3==5||3>4}<br>
		<%
			request.setAttribute("str",null);
			request.setAttribute("list",new ArrayList<>());
		%> 
		${empty str}<br>
		${empty list}<br>
		${str == null? "数据为空 ":str}<br>
</body>
</html>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值