jsp篇 之 指令元素和動作元素


 

Jsp指令元素分類與書寫格式

書寫格式:

<%@ 指令類型  屬性="" ..  %>

分類:

page include taglib】三種。

根據名字就能知道指令含義:page主要是對頁面進行操作,include主要是對導入進行操作,taglib主要是對標簽庫進行操作

1,page指令:

errorPage="error.jsp"

如果a.jsp頁面中設置了errorPage="error.jsp",那么a.jsp頁面在運行時【一旦出錯】 就會【自動跳轉到error.jsp】里面.

 

isErrorPage="true"

如果一個頁面中設置了isErrorPage="true",那么就表示這個【頁面是用來專門顯示 錯誤信息】的頁面。

另外在這個頁面中【能夠使用到隱藏對象exception】來顯示出錯誤的信息.(需要使 jsp的內置對象)

 eg:<% @page  isErrorPage="true " %>

language屬性 language="java"

表示當前頁面中的編程語言是java

目前這個屬性值只能寫java,不支持其他語言。

contentType屬性

contentType="text/html; charset=UTF-8"

設置服務器將來使用iojsp頁面內容輸出給瀏覽器時,使用什么編碼向 瀏覽器輸出。

pageEncoding屬性  

pageEncoding="UTF-8"

設置jsp頁面文件保存時候所用的編碼

 

2,include指令

一個頁面包含/引入另外一個頁面有倆種方式:

靜態包含 動態包含。

靜態包含基本格式:

<%@ include file="" %>

作用:

在當前頁面中使用include指令可以把另外一個頁面的內容引入到當前頁面。

靜態include是先把被包含文件的內容全部復制內嵌到包含文件中,再進行編譯運行的,所以b中的變量等不能與a重復,否則會報錯

 

動態包含:

<jsp:include page="foot.jsp">

 

特點:執行到了include語句的時候才觸發被包含文件的編譯、執行,並實時把結果包含進來。

 

 

 動態包含與靜態包含的區別?

兩者都可以包含進來其他頁面;

a. 動態包含是動態標簽jsp:include實現

靜態包含是由指令元素 <%@ include file="" %>實現;

b. 靜態包含原封不動載入;動態包含翻譯成方法調用;

c. 靜態包含不能傳參;動態包含可以傳參。

傳參出現中文亂碼,過濾器可以解決;

 

動態include與靜態include的最大不同在於:包含文件與被包含文件都是先編譯執行,再包含。二者的編譯階段是相互獨立的,只有在包含文件的include語句處把被包含文件的執行結果包含進來

總結:

靜態包含執行效率會更快,但是有可能發生變量沖突的問題。另外使用靜態包含如果包含的文件發生了變化的話,所有包含它的servlet都要重新編譯更新,這是一個很大的代價。通常情況下使用動態包含比較多。

 

3,taglib指令

該指令的作用是在當前jsp頁面中【引入一些特殊的標簽庫】.

比如jstl標簽庫、struts2標簽庫等。

 

jsp的動作元素

jsp文件中,我們之前嵌入的java代碼和標簽配合出現,整體風格比較亂,不利用改動與維護,且代碼量過於龐大。

把常見的一些java代碼進行封裝,就得到了jsp中的動作標簽。

 

注意:jsp中盡可能不要出現java代碼。

 

Jspservlet的聯系:

jsp完全可以實現servlet的功能,但實際開發里面並不單獨使用一種,還是需要配合使用。

JSPServlet分工不同:

Servlet用來接收數據,頁面跳轉;

jsp用來動態顯示頁面內容。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM