如果你不熟悉java編程,也許你想看一下sun的指南 。然而網頁創建者并不需要進行太多的java開發。除了一些方法調用,在你的jsp網頁里應盡可能少用java代碼。
記住以上提示,我們首先來看一看jsp指令和腳本元素,之后我們會解釋javabeans和隱含對象。共有五種jsp指令和腳本元素。在jsp 1.0版中,大部分jsp被一個以“< %” 開頭和以“%>”結尾的的標記括在其中。在更新的jsp 1.1規范出臺后,就有了與xml兼容的版本。
jsp指令和腳本元素
directives < %@ directive %>
declarations < %! declaration %>
expressions < %= expression %>
code fragment/scriptlet < % code fragment %>
comments < %-- comment --%>
指令
jsp指令是為jsp引擎而設計的。他們并不直接產生任何可見輸出,而只是告訴引擎如何處理其余jsp頁面。這些指令始終被括在 “< %@ ?%>”標記中。兩個最重要的指令是“pagepage”和“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" %> .
代碼片段/腳本片段
代碼片段/腳本片段(scriptlets) jsp代碼片段或腳本片段是嵌在“< % ?%>”標記中的。這種java代碼在web服務器響應請求時就會運行。在腳本片段周圍可能是原始的html或xml語句,在這些地方,代碼片段可以使你創建條件執行代碼,或要用到另外一段代碼的代碼。例如,以下的代碼組合使用表達式和代碼片段,顯示h1、h2、h3和h4標記中的字符串“hello”。代碼片段并不局限于一行源代碼:
< % for (int i=1; i< =4; i++) { %>
< h< %=i%>>hello< /h< %=i%>>
< % } %>.
注釋
最后一個主要的jsp元素是嵌入式注釋。盡管你始終可以在文件中加入html注釋,但用戶在查看頁面源代碼時會看到這些注釋。如果你不想讓用戶看到它,你就應該將其嵌入“< %-- ?--%>” 標記中:
< %-- comment for server side only --%>.
隱藏注釋
jsp頁面的文檔,但是不被傳送到客戶端
jsp語法
< %-- 注釋 --%>
例子1
< %@ page language="java" %>
< html>
< head>< title>注釋測試< /titel>< /head>
< body>
< h2>注釋測試< /h2>
< %-- 這一段注釋在原代碼中是看不到的 --%>
< /body>
< /html>
描述
jsp會忽略隱藏注藏的文本行,隱藏注釋通常被用來注釋你不愿意被別人看到的注釋。jsp不處理任何< %--和--%>之間的字符,這段注釋也不會被發送到客戶端,當然查看原代碼也發現不了它。
在使用--%>結束注釋之前你可以使用任何符號,如果你想在注釋中用--%>,那么你可以用--%>避開。
聲明
在jsp頁面聲明變量和方法
jsp語法
< %! 聲明;[聲明;]+……%>
例子1
< %! int i =0; %>
< %! int a, b, c; %>
< %! circle a = new circle (2,0); %>
描述
在jsp頁面中,如果你想用變量和方法必須事先聲明。
你可以在一個聲明元素里聲明任意多個變量和方法,不夠最后有多長,你都要加一個分號在后面。聲明必須遵守java程序語言的規定。
當你在jsp中聲明變量和方法的時候,必須牢記住以下幾點規則:
1、必須以分號結尾(同樣的規則適用于腳本的編寫,相反,表達式不用)
2、用< %@ page %>引入的頁面已經聲明過的變量和方法可以直接使用,不用再次聲明。
聲明可以擴展范圍,也就是說可以擴展到任何靜態的jsp文件。任何用< jsp:include>包含的靜態文件都可以。記詮動態的頁面不可以。
表達式
在jsp頁面里用腳本語言表達式
jsp語法
< %=表達式%>
例子1
地圖文件有< font color="bule">< %=map.size()%>< /font>個。
猜的不錯,但是不對。試試< b>< %=numguess.gethint()%>< /b>。
描述
表達式通過計算得出值,轉換成字符串,插入到jsp頁面中想要顯示出來的地方。因為得出的值已經是字符串了,那么你就可以在jsp頁面中用html標簽任意的控制它。
當你在jsp頁面中寫表達式的時候,記住以下要點:
1、千萬不要用分號來結束表達式(可是,在腳本中的表達式卻要加分號;參閱腳本)
2、表達式中可以包含任何適合java語言規范表達式。
有時候你可以把表達式的值作為jsp要素的屬性值。
腳本
頁面中用腳本語言編寫的腳本段
jsp語法
< %=代碼段%>
例子1
< %
string name = null;
if (request.getparameter("name")==null {
%>
< %@ include file="error.html"%>
< % } else {
foo.setname(request.getparmeter("name"));
if (foo.getname().equalsignorecase("integra"))
name = "acura";
if (name.equalsignorecase("acura")){
%>
描述
一段代碼可以包括任意長的代碼,聲明任意多的變量和方法或者包括任意多的表達式。當你在編寫代碼的時候,你可以做如下事情:
1、為以后的需要聲明變量和方法(參閱:聲明)
2、使用表達式(參閱:表達式)
3、使用固定值和< jsp:usebean>中的對象
4、在頁面中使用任意其他聲明值(如果你使用java語言,必須遵守java規則)文本,html標簽和jsp元素必須在腳本之外。腳本執行需要時間。
新聞熱點
疑難解答