JSP文件主要由模板元素、指令元素、動作元素、腳本元素、聲明、表達式、Scriptlets和JSP內建對象組成。
1 模板元素
模板元素是指JSP的靜態HTML或者XML內容。
2 註釋
(1)HTML/XML註釋
<!-- 註釋內容 -->
(2)JSP註釋
<%--註釋內容--%>
(3)Scriptlets註釋
//單行註釋
/*
* 多行註釋
*/
3 腳本元素
腳本元素主要包括:聲明,表達式,Scriptlets
(1)聲明就是在JSP程序中聲明合法的變量和方法
<%! String getDate(){
return new java.util.Date().toLocaleString();
}
int count = 10;
%>
<%! %>標籤,在此中可以定義全局變量、方法、類,但是不能出現任何的其他語句。雖然可以在此定義類或方法,但不建議這樣,往往會通過JavaBean的形式調用。
(2)表達式就是位於“<%="和”%>“之間的代碼
<%=getDate()%>
主要功能是輸出一個變量或一個具體內容。
(3)Scriptlets位於”<%“和”%>“之間,它們是合法的Java代碼。可以在此定義局部變量、編寫語句等。與下面的scriptlet標籤等價:
<jsp:scriptlet>
</jsp:scriptlet>
4 指令元素:頁面指令,include指令,taglib指令
指令用來設置全局變量,聲明類、要實現的方法和輸出內容的類型等。它們並不向客戶產生任何輸出,所有的指令都在JSP整個文件範圍內有效。
(1)頁面指令
頁面指令用來定義JSP文件中的全局屬性。除了import外,其他的頁面指令定義的屬性/值只能出現一次。頁面(page)指令語法:
<%@ page 屬性="內容"%>
錯誤頁除了可以在每個JSP頁面通過errorPage以及isErrorPage指定配置外,還可以通過修改web.xml文件,在其中加入錯誤頁的配置。全局的錯誤處理可以處理兩種類型的錯誤,一種是HTTP代碼的錯誤,如404或500;還有一種是異常的錯誤,如NullPointerException等。
<error-page>
<error-code>404</error-code>
<location>nofound.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>error.jsp</location>
</error-page>
<error-page>
<exception-type>java.lang.NullPointerException</exception-type>
<location>error.jsp</location>
</error-page>
(2)include指令
<%@ include file="filename"%>
靜態包含指令是在JSP編譯時插入一個包含文本或代碼的文件,這個包含的過程是靜態的,而包含的文件可以是JSP文件、HTML文件、文本文件,或是一段Java程序。
在靜態包含中,會先將所包含的文件的內容導入到相應的文件中,然後再一起進行編譯,最後再將一份整體的內容展現給用戶,也就屬於先包含,然後再將全部的代碼進行集中的編譯處理。
(3)taglib指令
<%@ taglib prefix="tagPrefix" uri="taglibURI" %>
5 動作元素:
(1)<jsp:param>
<jsp:param name="paramName" value="paramValue"/>
(2)<jsp:include>
動態包含,與之前的靜態包含不同,動態包含語句可以自動區分被包含的頁面是靜還是動態。如果是靜態頁面,則與靜態包含一樣,將內容包含進來處理;如果被包含的頁面是動態頁面,則可以先進行動態的處理,然後再將處理後的結果包含進來。
<jsp:include page="{要包含的文件路徑 | <%=表達式%>}" flush="true | false" />
(3)<jsp:forward>
(4)<jsp:setProperty>
(5)<jsp:getProperty>
(6)<jsp:useBean>