JSP九大内置对象
- pageContext 存东西
- Request 存东西
- Response
- Session 存东西
- Application(servletContext) 存东西
- config(servletContext)
- out
- page (几乎不用)
- exception
我们只需要清楚可以存东西的四个对象就可以了!
<%--内置对象--%>
<%--作用域是从底层到高层--%>
<%
pageContext.setAttribute("name1","1");//保存的数据只在一个页面中有效
request.setAttribute("name2","2");//保存的数据只在一次请求中有效
session.setAttribute("name3","3");//保存的数据只在一次会话中有效
application.setAttribute("name4","4");//保存的数据只在服务器中有效
%>
<%--脚本片段中的代码会被原封不动的生成到jsp.java--%>
<%
//用pageContext取出,通过寻找方式来
String name1 = (String) pageContext.findAttribute("name1");
String name2 = (String) pageContext.findAttribute("name2");
String name3 = (String) pageContext.findAttribute("name3");
String name4 = (String) pageContext.findAttribute("name4");
String name5 = (String) pageContext.findAttribute("name5");//name5不存在
%>
<h1>取出的值:</h1>
<%--用el表达式输出,取值一般都用el表达式--%>
<h3>${name1}</h3>
<h3>${name2}</h3>
<h3>${name3}</h3>
<h3>${name4}</h3>
<h3>${name5}</h3>
<%--脚本片段中的代码会被原封不动的生成到jsp.java--%>
<%
//用pageContext取出,通过寻找方式来
String name1 = (String) pageContext.findAttribute("name1");
String name2 = (String) pageContext.findAttribute("name2");
String name3 = (String) pageContext.findAttribute("name3");
String name4 = (String) pageContext.findAttribute("name4");
String name5 = (String) pageContext.findAttribute("name5");//name5不存在
%>
<h1>取出的值:</h1>
<%--用el表达式输出,取值一般都用el表达式--%>
<h3>${name1}</h3>
<h3>${name2}</h3>
<h3>${name3}</h3>
<h3>${name4}</h3>
<h3>${name5}</h3>
重点:从一个jsp(页面)中存数据,从另一个jsp(页面)中取数据,我们能把数据取到吗?
答:pageContext,Request的值不能取道,Session,Application的值可以取到,这里就涉及到这四个对象的作用域(已写在代码注释中)的问题了。