<%@ page import="entity.Student" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%-- EL 作用从与对象中取出数据 --%>
<%
// HttpServletRequest request = new HttpServletRequest
// ServletContext application = new ServletContext()
// pageContext, request, session, application
// 1、普通字符串
pageContext.setAttribute("name","lisi_pageContext");
request.setAttribute("name","lisi_request");
// 2、Student 对象
Student student = new Student(1, "王五", 23, "男");
session.setAttribute("studentSession",student);
// 3、 list集合
Student student1 = new Student(1, "王五1", 23, "男");
Student student2 = new Student(2, "王五2", 23, "男");
Student student3 = new Student(3, "王五3", 23, "男");
List<Student> list = new ArrayList<>();
list.add(student1);
list.add(student2);
list.add(student3);
application.setAttribute("studentApplication",list);
%>
<%--1.普通字符串--%>
<%=pageContext.getAttribute("name")%><br/>
<%=request.getAttribute("name")%><br/>
<%--EL 表达式--%>
${pageScope.name}<br/>
${requestScope.name}<br/>
${name}<br/> <%--拿出来的是pageScope里面的,从最小的域内开始取数据--%>
<%--2、获取对象--%>
<%--使用JSP表达式--%>
<%=session.getAttribute("studentSession")%>
<%--下面那样获取名字会报错,报错原因是session.getAttribute()获取的是Object对象,不能直接调用Student类的方法--%>
<%--session.getAttribute("studentSession").getName()--%>
<%
Student stu = (Student) session.getAttribute("studentSession"); // 先获取进行强制类型转换
stu.getName(); // 再去调用他的方法
%>
<%=stu.getId()%>--<%=stu.getName()%>--<%=stu.getGender()%><br/>
<%--EL表达式--%>
${studentSession}<br/>
${studentSession.id}<br/> <%--会自动调用我们的getId()方法--%>
${studentSession.name}<br/>
${studentSession.gender}<br/>
<%--List<Student>--%>
<%--使用JSP表达式--%>
<%
List<Student> stulist = (List<Student>) application.getAttribute("studentApplication");
%>
<%=stulist.get(0).getName()%><br/> <%--获取第一个学生的名字--%>
<%--EL表达式--%>
${studentApplication}<br/>
${studentApplication[0].name}
</body>
</html>
10-26
1403