1. 程式人生 > >03 - jsp基本語法(指令碼元素-註釋-指令)

03 - jsp基本語法(指令碼元素-註釋-指令)

JSP的基礎語法

  • 在jsp檔案中可以巢狀很多的內容, 如 : JSP的指令碼元素和註釋等, 但是這些內容都需要遵循一定的語法規範.

JSP指令碼元素

JSP指令碼元素是指巢狀在 <% 和 %> 之中的一條或多條 Java 程式程式碼. 通過JSP指令碼元素可以將Java程式碼嵌入HTML頁面中, 所有可執行的Java程式碼,可以通過JSP指令碼來執行.
JSP 指令碼元素主要包含如下三種類型:

  • JSP Scriptlets
  • JSP 宣告語句
  • JSP 表示式
  1. JSP Scriptlets
    JSP Scriptlets 是一段程式碼段. 當需要使用Java實現一些複雜操作或控制時, 可以使用.
<% java 程式碼 (變數 , 方法 , 語句等) %>

在 jsp Scriptlets中宣告的變數是JSP 頁面的區域性變數, 呼叫JSP Scriptlets 時, 會為區域性變數分配記憶體空間, 呼叫結束後, 釋放區域性變數佔有的記憶體空間.

  1. JSP宣告語句
    JSP的宣告語句用於宣告變數和方法, 以 “<%!” 開始, 以 “%>” 結束 :
	<%!
 	    定義的變數 或者方法
	%>
  • 在宣告語法中要注意, 被宣告的java程式碼將被編譯到 Servlet 的 *_jsp.java 的Service() 方法之外, 即在JSP宣告語句中宣告都是成員方法, 成員變數, 靜態方法, 靜態變數 , 靜態程式碼塊等. 在JSP 宣告語句中宣告的方法在整個JSP頁面內有效.
  • <%和%> 中定義的是區域性變數, 不能定義方法(java方法中不能再巢狀定義方法), 程式碼塊操作可以將結果輸出到瀏覽器.
  1. JSP表示式
    JSP表示用於將成語資料輸出到客戶端, 他將要輸出的變數或者表示式直接封裝在 “<%= xxx %>” 標記中, 基本格式如:
	<%= expression %>

該語句 將"expression" 表示式的結果輸出到客戶端的瀏覽器
注意:

  • “<%= xxx %>” 標記中插入表示式或者變數, 後邊不能加分號";", 不能插入語句.
  • “<%=” 是一個完整的符號, <% 和 = 之間不可有空格.

JSP註釋

凡是程式語言一般都有註釋, JSP也有自己的註釋方式, 基本格式如下:

	<%-- 註釋內容 --%>

注意:

  • Tomcat在將JSP頁面編譯成Servlet程式時,會忽略JSP頁面中 被註釋的內容, 不會將註釋資訊傳送到客戶端. 舉個栗子:
<body>
     <!--  HTML註釋 -->   頁面原始碼中有顯示
     <%--  JSP註釋 --%>   頁面的原始碼中不會顯示
</body>
  • JSP程式碼段中的 java註釋
<%
     // java註釋      在被翻譯成java檔案後, 顯示該java註釋
%>

HTML註釋 , JSP註釋, java註釋 總結:

jsp原始碼 java原始碼 html原始碼
jsp註釋
java註釋
html註釋

JSP 指令

存在指令的目的就是去設定JSP頁面中的一些資訊. jsp2.0 中主要的指令有 page, include , taglib 三種指令, 每種指令又有其各自的屬性.

1. page指令

語法 :

<%@  page  屬性名1 = "value1"  屬性名2 = "value2" ...... %>
  • language

表明jsp頁面中可以寫java程式碼

  • contentType

其實即使說這個檔案是什麼型別,告訴瀏覽器我是什麼內容型別,以及使用什麼編碼

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

	text/html  MIMEType 這是一個文字,html網頁
  • pageEncoding jsp內容編碼

  • extends 用於指定jsp翻譯成java檔案後,繼承的父類是誰,一般不用改。

  • import 導包使用的,一般不用手寫。

  • session

值可選的有true or false .

用於控制在這個jsp頁面裡面,能夠直接使用session物件。

具體的區別是,請看翻譯後的java檔案 如果該值是true , 那麼在程式碼裡面會有getSession()的呼叫,如果是false : 那麼就不會有該方法呼叫,也就是沒有session物件了。在頁面上自然也就不能使用session了。

  • errorPage

指的是錯誤的頁面, 值需要給錯誤的頁面路徑

  • isErrorPage

上面的errorPage 用於指定錯誤的時候跑到哪一個頁面去。 那麼這個isErroPage , 就是宣告某一個頁面到底是不是錯誤的頁面。

2.include

包含另外一個jsp的內容進來。(靜態包含)
include指令只有一個file屬性, 該屬性用來指定插入到JSP 頁面目標位置的檔案資源

	<%@ include file="other.jsp"%>
  • 背後細節:

把另外一個頁面的所有內容拿過來一起輸出。 所有的標籤元素都包含進來。
有時候需要在JSP頁面靜態包含一個檔案(常見的比如一個網站的通用的頁頭, 頁尾等)

3.taglib

	<%@ taglib prefix=""  uri=""%>  
	prefix : 標籤庫的別名  uri: 標籤庫路徑