1. 程式人生 > >JSP三個指令及9個內置對象

JSP三個指令及9個內置對象

內置對象 class lang itl lan 解釋 utf port taglib

註:本文編寫方便自己以後用到時查閱

三大指令:include、 page、taglib

include指令:

  作用: 在當前頁面用於包含其他頁面

  語法: <[email protected] file="xxx.jsp"%>

  註意:

  1)原理是把被包含的頁面(xxx.jsp)的內容翻譯到包含頁面中,合並成翻譯成一 個java源文件,再編譯運行,這種包含叫靜態包含(源碼包含)

  2)如果使用靜態包含,被包含頁面中不需要出現全局的html標簽了!!!(如html、head、 body 當然出現也不會報錯)

page指令:

  作用: 告訴tomcat服務器如何把jsp文件翻譯成java文件

  默認寫法:<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>

  屬性介紹:

    language="java" //告訴服務器使用什麽動態語言來翻譯jsp文件

    import="java.util.*" //告訴服務器java文件使用什麽包導入包,多個包之間用逗號分割

    pageEncoding="utf-8" //告訴服務器使用什麽編碼翻譯jsp文件(成java文件)

              註意:在開發工具中,以後只需要設置pageEncoding即可解決中文亂碼問題,因為contentType屬性會默認設置和pageEncoding一致

    contentType="text/html; charset=utf-8" //服務器發送瀏覽器的數據類型和內容編碼

    errorPage="error.jsp" //配置了之後,當頁面運行出錯後,會跳轉到對應的錯誤頁面

    isErrorPage="false" //默認為false,當設為true後,可以使用內置對象exception,否則不能使用

    buffer="8kb" //out內置對象的款存大小,當超過款存後,立馬向瀏覽器中寫出內容

    session="true" //是否可以使用內置對象session,默認true

    isELIgnored="false" //是否忽略EL表達式,默認false

taglib指令:

  作用:用於導入jstl標簽庫

9個內置對象
內置對象 對應的類型 解釋
request HttpServletRequest
response HttpServletResponse
config ServletConfig
application ServletContext
session HttpSession
exception Throwable
page Object(this) 當前頁面編譯後的class
out JspWriter
pageContext PageContext









pageContext對象:

  pageContext對象的類型是PageContext,叫jsp的上下文對象

  1)可以獲取其他八個內置對象

  如:

技術分享
1 HttpServletRequest  request= pageContext.getRequest(); //等價於request內置對象
2 HttpServletResponse response = pageContext.getResponse(); ////等價於response內置對象
3 HttpSession session = pageContext.getSession(); //...
4 JspWriter out = pageContext.getOut(); //...
5 
6  ...
技術分享

  2)本身是一個域對象

  #四個域對象

ServletContext context域
HttpServletRequet session域
HttpSession request域
PageContext page域
作用: 保存數據和獲取數據,用於共享數據

    

    

    

    

    

  #保存數據

    1)默認情況下,保存到page域

      pageContext.setAttribute("name");

    2)可以向四個域對象保存數據

      pageContext.setAttribute("name",域範圍常量)

  #獲取數據

    1)默認情況下,從page域獲取

      pageContext.getAttribute("name")

    2)可以從四個域中獲取數據

      pageContext.getAttribute("name",域範圍常量)

  #域範圍常量:

    PageContext.PAGE_SCOPE

    PageContext.REQUEST_SCOPE

    PageContext..SESSION_SCOPE

    PageContext.APPLICATION_SCOPE

  3)自動在四個域中搜索數據

    pageContext.findAttribute("name"); //搜索順序: page域 -> request域 -> session域- > context域(application域)

JSP三個指令及9個內置對象