JSP中的九大內置對象

JSP九大內置對象

  1. pageContext 存東西
  2. Request 存東西
  3. Response
  4. Session 存東西
  5. Application(servletContext) 存東西
  6. config(servletContext)
  7. out
  8. page (幾乎不用)
  9. 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的值可以取到,這裡就涉及到這四個對象的作用域(已寫在代碼注釋中)的問題了。

Tags: