JSP中的九大內置對象
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的值可以取到,這裡就涉及到這四個對象的作用域(已寫在代碼注釋中)的問題了。