JSP注釋分類及聲明應(yīng)用淺談
JSP注釋常用的有兩種:HTML注釋和隱藏注釋(JSP注釋),那么他們又有什么格式上的要求和特點(diǎn)呢?來(lái)開(kāi)始我們的介紹吧:
◆HTML 注釋:
說(shuō)明:能在客戶端顯示的一個(gè)注釋,標(biāo)記內(nèi)的所有JSP腳本元素、指令和動(dòng)作正常執(zhí)行,也就是說(shuō)編譯器會(huì)掃描注釋內(nèi)的代碼行。
語(yǔ)法:
例1
﹤!-- This file displays the user's information --﹥
在客戶端的HTML源代碼中產(chǎn)生和上面一樣的數(shù)據(jù):
例2
﹤!-- This page was loaded on ﹤%= (new java.util.Date()).toString() %﹥ --﹥
在客戶端的HTML源代碼中顯示為:
◆隱藏注釋(JSP注釋):
說(shuō)明:用隱藏注釋標(biāo)記的字符會(huì)在JSP編譯時(shí)被忽略掉,標(biāo)記內(nèi)的所有JSP腳本元素、指令和動(dòng)作都將不起作用。 JSP編譯器不是會(huì)對(duì)注釋符之間的語(yǔ)句進(jìn)行編譯的,它不會(huì)顯示在客戶的瀏覽器中。
語(yǔ)法:<%-- comment --%>
那么簡(jiǎn)單介紹過(guò)后,現(xiàn)在我們分別就他們的各自的特點(diǎn)來(lái)進(jìn)一步詳細(xì)的進(jìn)行介紹,另外還有聲明方面的應(yīng)用:
1.HTML注釋
該注釋在客戶端可通過(guò)查看源文件的方法看到。
JSP語(yǔ)法:﹤!--注釋[ ﹤%= 表達(dá)式%﹥ ] --﹥
例1
﹤!-- This file displays the user login screen --﹥
在客戶端頁(yè)面源程序中顯示為:
﹤!-- This file displays the user login screen --﹥
例2
頁(yè)面調(diào)用日期為:
﹤%= (new java.util.Date()).toLocaleString() %﹥ --﹥
在客戶端頁(yè)面源程序中顯示為:
﹤!--頁(yè)面調(diào)用日期為:January 1, 2000 --﹥
描述:
可以在注釋中使用任何有效的JSP表達(dá)式。表達(dá)式是動(dòng)態(tài)的,當(dāng)用戶第一次調(diào)用該頁(yè)面或該頁(yè)面后來(lái)被重新調(diào)用時(shí),該表達(dá)式將被賦值。JSP引擎對(duì)HTML注釋中的表達(dá)式執(zhí)行完后,其執(zhí)行的結(jié)果將直接插入到表達(dá)式顯示的地方。然后該結(jié)果和HTML注釋中的其它內(nèi)容一起輸出到客戶端。在客戶端可通過(guò)查看源文件的方法看到該注釋。
2.JSP注釋
JSP注釋作為JSP頁(yè)面的文檔資料,但是該注釋在客戶端通過(guò)查看源文件的方法是看不到的。即該注釋不發(fā)送到客戶端。
JSP語(yǔ)法:﹤%-- 注釋 --%﹥
例如
- ﹤%@ page language="java" %﹥
- ﹤html﹥
- ﹤head﹥﹤title﹥注釋測(cè)試﹤/title﹥﹤/head﹥
- ﹤body﹥
- ﹤h2﹥注釋測(cè)試﹤/h2﹥
- ﹤%-- 在頁(yè)面源代碼中,這個(gè)注釋是看不見(jiàn)的 --%﹥
- ﹤/body﹥
- ﹤/html﹥
描述:
JSP引擎對(duì)JSP注釋不作任何處理。JSP注釋既不發(fā)送到客戶端,也不在客戶端的JSP頁(yè)面中顯示。在客戶端查看源文件時(shí)也看不到。因此,如果你想在JSP頁(yè)面源程序中寫(xiě)文檔說(shuō)明時(shí),JSP注釋是很有用的。
注意:在JSP注釋中,不能使用--%﹥,但是如果你一定要使用的話,可以通過(guò)使用--%\﹥來(lái)避開(kāi)。
3. 聲明
在JSP頁(yè)面腳本語(yǔ)言中聲明變量或方法
JSP語(yǔ)法:﹤%! 聲明;[聲明;]+…… %﹥
例子
- ﹤%! int i =8; %﹥
- ﹤%! int n, m, k,j; %﹥
- ﹤%! String s = new String("hello"); %﹥
描述:
在JSP文件中,一次可以聲明一個(gè)或多個(gè)變量和方法,它們之間用分號(hào)隔開(kāi)。在聲明時(shí)使用JAVA語(yǔ)言時(shí),必須符合JAVA語(yǔ)言規(guī)范。
注意:
◆變量必須先聲明,然后才能使用。
◆聲明必須以分號(hào)結(jié)尾,但是在表達(dá)式中則不用。
◆通過(guò)page指令導(dǎo)入的包中已聲明的變量或方法,可以在主JSP文件中直接使用它們。
◆一般情況下,一個(gè)聲明的有效范圍是本頁(yè)面。但是,如果JSP源文件用﹤jsp:include﹥指令或include指令包含一些靜態(tài)文件,聲明的有效范圍將會(huì)擴(kuò)大,也就是說(shuō):聲明在該靜態(tài)文件中也有效。但是如果JSP源文件中用﹤jsp:include﹥指令包含進(jìn)來(lái)一個(gè)動(dòng)態(tài)文件,主JSP文件中的聲明在該動(dòng)態(tài)文件中將不起作用。
4. 表達(dá)式
在JSP腳本語(yǔ)言中,可以使用任何有效的表達(dá)式。
JSP語(yǔ)法:﹤%= 表達(dá)式 %﹥
例子1:
﹤%! String s = new String("hello"); %﹥
﹤font color="blue"﹥﹤%=s%﹥﹤/font﹥
例子2:
隨機(jī)顯示一個(gè)數(shù)字:
﹤font color="blue"﹥﹤%=java.lang.Math.random()%﹥﹤/font﹥
描述:
表達(dá)式用于求值,然后其值轉(zhuǎn)化為字符串,而且插入在JSP文件中顯示該表達(dá)式的地方。而且可以在文本中使用表達(dá)式。表達(dá)式標(biāo)簽?zāi)馨螶AVA語(yǔ)言規(guī)范的任何有效表達(dá)式,但是要注意:不能使用分號(hào)作為表達(dá)式的結(jié)尾,然而,在腳本段﹤%……%﹥標(biāo)簽中,表達(dá)式要求以分號(hào)作為結(jié)尾。
5. 腳本段
在JSP頁(yè)面腳本語(yǔ)言中,包含一段有效的代碼片段。
JSP注釋語(yǔ)法:﹤% 代碼段 %﹥
例1:
- ﹤%=java.lang.Math.random()%﹥
- ﹤%
- for(int i=0;i﹤8;i++)
- { out.println(i); }
- %﹥
- ﹤%
- long n=6666;
- application.setAttribute("maxNumber",Long.toString(n));
- out.println(application.getAttribute("maxNumber"));
- %﹥
描述:
在腳本段能聲明多個(gè)變量和方法。能使用任何有效的表達(dá)式。能使用任何JSP隱含的對(duì)象或任何用﹤jsp:useBean﹥標(biāo)簽聲明的對(duì)象。能使用頁(yè)面語(yǔ)言中任何有效的語(yǔ)句,如果使用Java語(yǔ)言,必須符合JAVA語(yǔ)言程序規(guī)范。
說(shuō)明:假如腳本段有輸出語(yǔ)句,則輸出內(nèi)容被存儲(chǔ)在out對(duì)象中,通過(guò)out對(duì)象輸出到JSP頁(yè)面中。
以上介紹的是JSP注釋的基本語(yǔ)法,有了以上的幾條規(guī)則,我們就可以方便的書(shū)寫(xiě)一般的JSP文件了。比如我們前面測(cè)試Resin用的那個(gè)例子只有一句話,使用的就是表達(dá)式的語(yǔ)法,2+2=﹤%=2+2%﹥,前面一部分對(duì)應(yīng)的是需要直接打印的HTML文本,﹤%,%﹥對(duì)中的是Java語(yǔ)句,加了個(gè)等號(hào)就表示要返回表達(dá)式的值,并打印到客戶端。翻譯成對(duì)應(yīng)的Servlet語(yǔ)句,大概就是:
out.println("2+2="+(2+2));
這樣的一個(gè)語(yǔ)句如果改成
System.out.println("2+2="+(2+2));
并在console上運(yùn)行,那么運(yùn)行的結(jié)果就是2+2=4
通過(guò)上文對(duì)JSP注釋方面的介紹以及JSP語(yǔ)言聲明方面的使用注意事項(xiàng),你對(duì)JSP注釋是不是有了新的認(rèn)識(shí)呢?希望對(duì)成長(zhǎng)的你有所幫助。
【編輯推薦】