1. 程式人生 > >jsp筆記2(編譯指令與動作指令)

jsp筆記2(編譯指令與動作指令)

getpara html 丟失 另一個 value 默認 extend servlet encoding

一、jsp的編譯指令是通知jsp引擎的消息,不會生成輸出。

jsp的3個編譯指令:

page:針對當前頁面的指令
include:包含另一個頁面的指令
taglib:用於定義和訪問自定義標簽

編譯指令格式:
<%@ 編譯指令名 屬性="屬性值"...%>

page指令各屬性的意義:
1.language:聲明當前頁面使用的腳本語言的種類,因為頁面是jsp頁面,故屬性值通常是java,默認也為java

  2.extends:指定jsp編譯所產生的java類所繼承的父類或者所實現的接

  3.import:導入包。默認導入的包有java.lang.*,java.servlet.*,java.servlet.jsp.*,javax.servlet.http.*,這些不需要顯示導入

4.session:設定這個jsp頁面是否需要打開HTTP Session

  5.buffer:設定輸出緩沖區的大小。默認為8kb,可以設置為none,也可以設置為其他值,單位為kb

  6.autoFlush:當輸出緩沖區即將溢出時,是否需要強制輸出緩沖區的內容。設置為true時為正常輸出,設置為false,則會在buffer溢出時產生一個異常

  7.info:設置該jsp的信息或說明。可用Servlet.getServletInfo()來獲取。在jsp頁面中可直接用getServletInfo()來獲取

  8.errorPage:指定錯誤處理頁面。如果本頁面產生了異常或錯誤,又沒有相應的代碼程序做處理,則會自動調用該屬性所指定的jsp頁面

  9.isError:設置本頁面是否為錯誤處理頁面

  10.contentType:指定用於生成的網頁的文件格式和編碼字符集,即MIME類型和頁面字符集類型,默認的MIME類型是text/html;默認的字符集類型為ISO-8859-1

  11:pageEncoding:指定生成網頁的編碼字符集


 include指令:
  <%@ include file="test.jsp"%>

二、jsp的動作指令,與編譯指令不同,編譯指令是通知Servlet引擎的處理消息,在將jsp編譯成Servlet時起作用,而動作指令通常可替換成jsp腳本

  jsp的7個動作指令:


    1.jsp:forward:頁面轉發,不會丟失請求參數,頁面地址欄的url不會發生改變

<jsp:forward page="test.jsp">
  <jsp:param name="age" value="18"/>
</jsp:forward>

由本頁面轉發到test.jsp頁面,並攜帶age參數,那麽可以在test.jsp頁面中使用request.getParameter("age")來接收參數

    2.jsp:param:傳遞參數,必須與其他標簽一起使用

    3.jsp:include:動態引入一個jsp頁面,可以攜帶參數

<jsp:include page="test2.jsp">
  <jsp:param name="age" value="18"/>
</jsp:include>

本頁面引入test2.jsp頁面,這裏只是將test2.jsp的body的內容插入到本頁面中

    4.jsp:userBean:創建一個JavaBean實例

<jsp:userBean id="person" class="com.edu.hue.Person" scope="page"/>

    5.jsp:setProperty:設置JavaBean實例的屬性

<jsp:setProperty name="person" property="age" value="18"/>

    6.jsp:getProperty:輸出JavaBean實例的屬性

<jsp:getProperty name="person" property="age"/>

    7.jsp:plugin:用於下載JavaBean或Applet到客戶端執行

jsp筆記2(編譯指令與動作指令)