安裝之後,接下來我們要討論JSP的文法.如果要偷懶,你可以下載文法卡而如果你不熟悉 Java的程式設計,你可能會想要參考Sun的使用手冊;然而,網站建立者不應該做太多的Java發展。除了幾個函式呼叫之外,出現在你JSP網頁上的Java程式碼應該將它減到最少;
記住這點之後,現在讓我們先來看看JSP的編譯器指引與指令組件,之後我們將解釋JavaBeans與內部對象. JSP編譯器指引與指令組件有五種型態.JSP 1.0之後,大部分的JSP是包含在以<% 作為開始%>作為結束的單一卷標裡.新的 JSP 1.1規格已經發表了,它同時也與XML相容.
JSP的編譯器指引與指令組件
編譯器指示 <%@ 編譯器指示 %>
聲明 <%! 聲明 %>
運算式 <%= 運算式 %>
程式碼段/小型指令 <% 程式碼片段 %>
注釋 <%-- 注釋 --%>
編譯器指示
JSP的編譯器指示是針對JSP引擎。它們並不會直接產生任何看得見的輸出;相反的,它們是在告訴引擎如何處理其它的JSP網頁。它們永遠包含在 <%@ ?%>卷標裡。兩個主要的指引是 page與include。我們不會討論taglib編譯器指引但它可以在JSP1.1裡用來建立自訂卷標。
你幾乎可以在你所有的JSP網頁最上面找到page編譯器指示。雖然這不是必須的,但它可以讓你指定到哪裡可以找到支援的Java類別這類的事:
<%@ page import="java.util.Date" %>,
當發生Java問題的事件時應該將訊息傳送到哪裡:
<%@ page errorPage="errorPage.jsp" %>,
以及你是?需要為使用者管理通話期的資訊,可能存取多個網頁(稍後在JavaBeans裡會有更多通話期的討論):
<%@ page session="true" %>。
include編譯器指示讓你將你的內容分成幾個可管理的組件,就像那些有表頭或腳註的網頁。所包含的網頁可以是固定格式的HTML網頁或者是JSP內容的網頁:
<%@ include file="filename.jsp" %>。
宣告
JSP聲明讓你定義網頁層的變數,來儲存資訊或定義支援的函式,讓JSP網頁的其餘部分能夠使用。如果你發現自己有太多的程式碼,你最好將它們放在不同的Java類別裡。你可以在 <%! ?%>卷標裡找到聲明。記住要在變數聲明的後面加上分號,就跟任何有效Java敘述的形式一樣: <%! int i=0; %>。
運算式
JSP裡有運算式,評估運算式的結果可以轉換成字串並且直接使用在輸出網頁上。JSP運算是屬於 <%= ?%> 卷標裡,並不包含分號,加引號字串的無用部分。
<%= i %>
<%= "Hello" %> 。
程式碼段/小型指令檔案
JSP程式碼片段或小型指令檔案是包含在<% ?%> 卷標裡。當網路伺服器接受這段請求時,這段Java程式碼會執行。小型指令檔案可以是原始的HTML或XML,其內部的程式碼片段可以讓你建立有條件的執行程式代碼,或者只是一些使用另一塊程式碼的東西。舉例來說,下列的程式碼結合了運算式與小型指令檔案,在H1,H2,H3,以及H4卷標裡顯示字串"Hello"。小型指令檔案不限於一行的原始程式碼 :
<% for (int i=1; i<=4; i++) { %>
<H<%=i%>>Hello</H<%=i%>>
<% } %>。
注釋
最後一個主要JSP組件是嵌入式注釋。雖然你可以在你的檔案裡包含HTML注釋,如果使用者檢視網頁的原始碼,他們也會看到這些注釋。如果你不要讓使用者看到你的批註,你可以將它放在<%-- ?--%>卷標裡:
<%-- 針對伺服器端的注釋 --%>。