目录
一、域对象
1、什么是作用域?
2、四大域对象
二、EL
1、为什么需要EL
2、什么是EL
3、EL的功能
4、EL的语法
5、EL的特点
🔘自动转换类型
🔘使用简单
6、EL变量属性范围名称
7、获取对象集合中的数据
三、JSTL
1、为什么使用JSTL?
2、什么是JSTL?
3、使用JSTL的步骤
4、JSTL标准标签库内的标签
🔸通用标签的使用
🔸 条件标签的使用
🔸迭代标签
一、域对象
1、什么是作用域?
JSP创建的对象有一定的生命周期,也有可能被其他组建或者对象访问。对象的生命周期和可访问性成为作用域。
2、四大域对象
按照作用范围来算:PageContext(jsp页面)< Requset(一次请求)<Session(一次会话)<application(整个web界面)
注:若在不同作用域有相同名称的对象,则系统的查找顺序为page => request => session =>application
名称 描述
pageContext 属性的作用范围仅限当前的jsp页面(范围最小)
request 属性的作用范围仅限同一个请求(转发有效)
session 属性的作用范围仅限于一次会话,浏览器打开直到关闭称为一次会话(在此期间会话不失效)
application 属性的作用范围仅限于当前web应用(范围最大)
二、EL
1、为什么需要EL
JavaBean在JSP中的局限
获取JavaBean属性必须要实现实例化
强制类型转化
<%
Employee employee = (Employee)request.getAttribute("employee");
Computer comp = employee.getComputer();
String manufacturer = comp.getManufacturer();
%>
注意:如果页面编写出现逻辑错误,将会导致代码执行错误,并且JSP页面编译页面时也会产生错误
解决办法:使用EL表达式简化
2、什么是EL
EL即Expression Language(表达式语言)
3、EL的功能
替代JSP页面中的复杂代码
4、EL的语法
${ EL exprission }
${ bean.name } 或 ${ bean['name'] }
注:${ bean.name }实质是调用bean的getName()方法
5、EL的特点
🔘自动转换类型
EL得到某个数据时可以自动转换类型
对于类型的限制更加宽松
🔘使用简单
相比较在JSP中嵌入Java代码,EL应用更简单
6、EL变量属性范围名称
7、获取对象集合中的数据
在session中保存了一个list集合user
<%@page import="java.util.ArrayList"%>
<%@page import="java.util.List"%>
<%@page import="com.zking.pojo.User"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<%
//List
List<User>list=new ArrayList<User>();
pageContext.setAttribute("us",list);
%>
<body>
User:${user}
<br>
<%--${user.getName()} --%>
名字: ${user.name}
<br>
<%--${user.getPwd()} --%>
密码: ${user.pwd}
<br>
<%--判断是否为空 --%>
${us.size()==0}
${empty us}
${not empty us}
</body>
</html>