<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 醫(yī)療電子 > 學(xué)習(xí)方法與實(shí)踐 > JSP初學(xué)者必須要掌握的語(yǔ)法點(diǎn)

          JSP初學(xué)者必須要掌握的語(yǔ)法點(diǎn)

          ——
          作者:baocl 時(shí)間:2007-10-31 來(lái)源:賽迪網(wǎng) 收藏

           

          我們首先來(lái)看一看指令和腳本元素,之后我們會(huì)解釋Beans和隱含對(duì)象。共有五種指令和腳本元素。在 1.0版中,大部分JSP被一個(gè)以“< %” 開(kāi)頭和以“%>”結(jié)尾的的標(biāo)記括在其中。在更新的JSP 1.1規(guī)范出臺(tái)后,就有了與XML兼容的版本。 

            JSP指令和腳本元素 

            Directives < %@ directive %> 

            Declarations < %! declaration %> 

            Expressions < %= expression %> 

            Code Fragment/Scriptlet < % code fragment %> 

            Comments < %-- comment --%> 

            指令 

            JSP指令是為JSP引擎而設(shè)計(jì)的。他們并不直接產(chǎn)生任何可見(jiàn)輸出,而只是告訴引擎如何處理其余JSP頁(yè)面。這些指令始終被括在 “< %@ ?%>”標(biāo)記中。兩個(gè)最重要的指令是“pagePage”和“Include”?!癟aglib”指令不在討論之列,但是在用JSP1.1創(chuàng)建自定義標(biāo)記可以使用它。 

            幾乎在所有JSP頁(yè)面頂部都會(huì)看到“Page”指令。盡管不是必須的,但它可以讓你指定: 

            到何處查找起支持作用的類別: 

            < %@ page import="java.util.Date" %>, 

            出現(xiàn)運(yùn)行問(wèn)題時(shí),將網(wǎng)上沖浪者引向何處: 

            < %@ page errorPage="errorPage.jsp" %>, 

            還有你是否需要管理用戶的會(huì)話級(jí)信息,這些信息可能來(lái)自多個(gè)網(wǎng)頁(yè)(在下面的JavaBeans一節(jié)將對(duì)此做進(jìn)一步講)述: 

            < %@ page session="true" %>. 

            “Include”指令可以把你的內(nèi)容分成更多可管理的元素,比如包括一個(gè)普通頁(yè)面頁(yè)眉或頁(yè)腳的元素。包含的網(wǎng)頁(yè)可以是一個(gè)固定的HTML 頁(yè)面或更多的JSP內(nèi)容: 

            < %@ include file="filename.jsp" %> 

            聲明 

            JSP聲明用來(lái)讓你定義頁(yè)面級(jí)變量,以保存信息或定義JSP頁(yè)面的其余部分可能需要的支持方法。如果你發(fā)現(xiàn)代碼太多,通常最好把它們寫成一個(gè)獨(dú)立的Java類別。聲明一般都在“< %! ?%>”標(biāo)記中。一定要以分號(hào)(;)結(jié)束變量聲明,因?yàn)槿魏蝺?nèi)容都必須是有效的Java語(yǔ)句: 

            < %! int i=0; %>。 

            表達(dá)式 

            有了JSP表達(dá)式,表達(dá)式評(píng)估結(jié)果會(huì)被轉(zhuǎn)換成一個(gè)字符串,并且被直接包括在輸出頁(yè)面之內(nèi)。JSP 表達(dá)式包含在“< %= ?%>” 標(biāo)記中,沒(méi)有分號(hào),除非在加引號(hào)的字符串部分使用分號(hào)。 

            < %= i %> 

            < %= "Hello" %> . 

            代碼片段/腳本片段 

            代碼片段/腳本片段(Scriptlets) JSP代碼片段或腳本片段是嵌在“< % ?%>”標(biāo)記中的。這種Java代碼在Web服務(wù)器響應(yīng)請(qǐng)求時(shí)就會(huì)運(yùn)行。在腳本片段周圍可能是原始的HTML或XML語(yǔ)句,在這些地方,代碼片段可以使你創(chuàng)建條件執(zhí)行代碼,或要用到另外一段代碼的代碼。例如,以下的代碼組合使用表達(dá)式和代碼片段,顯示H1、H2、H3和H4標(biāo)記中的字符串“Hello”。代碼片段并不局限于一行源代碼: 

            < % for (int i=1; i< =4; i++) { %> 

            < H< %=i%>>Hello< /H< %=i%>> 

            < % } %>. 

            注釋 

            最后一個(gè)主要的JSP元素是注釋。盡管你始終可以在文件中加入HTML注釋,但用戶在查看頁(yè)面源代碼時(shí)會(huì)看到這些注釋。如果你不想讓用戶看到它,你就應(yīng)該將其嵌入“< %-- ?--%>” 標(biāo)記中: 

            < %-- comment for server side only --%>. 

            隱藏注釋 

            JSP頁(yè)面的文檔,但是不被傳送到客戶端 

            JSP語(yǔ)法 

            < %-- 注釋 --%> 

            例子1 

            < %@ page language="java" %> 

            < html> 

            < head>< title>注釋測(cè)試< /titel>< /head> 

            < body> 

            < h2>注釋測(cè)試< /h2> 

            < %-- 這一段注釋在原代碼中是看不到的 --%> 

            < /body> 

            < /html> 

            描述 

            JSP會(huì)忽略隱藏注藏的文本行,隱藏注釋通常被用來(lái)注釋你不愿意被別人看到的注釋。JSP不處理任何< %--和--%>之間的字符,這段注釋也不會(huì)被發(fā)送到客戶端,當(dāng)然查看原代碼也發(fā)現(xiàn)不了它。 

            在使用--%>結(jié)束注釋之前你可以使用任何符號(hào),如果你想在注釋中用--%>,那么你可以用--%>避開(kāi)。 

            聲明 

            在JSP頁(yè)面聲明變量和方法 

            JSP語(yǔ)法 

            < %! 聲明;[聲明;]+……%> 

            例子1 

            < %! int i =0; %> 

            < %! int a, b, c; %> 

            < %! circle a = new circle (2,0); %> 

            描述 

            在JSP頁(yè)面中,如果你想用變量和方法必須事先聲明。 

            你可以在一個(gè)聲明元素里聲明任意多個(gè)變量和方法,不夠最后有多長(zhǎng),你都要加一個(gè)分號(hào)在后面。聲明必須遵守JAVA程序語(yǔ)言的規(guī)定。 

            當(dāng)你在JSP中聲明變量和方法的時(shí)候,必須牢記住以下幾點(diǎn)規(guī)則: 

            1、必須以分號(hào)結(jié)尾(同樣的規(guī)則適用于腳本的編寫,相反,表達(dá)式不用) 

            2、用< %@ page %>引入的頁(yè)面已經(jīng)聲明過(guò)的變量和方法可以直接使用,不用再次聲明。 

            聲明可以擴(kuò)展范圍,也就是說(shuō)可以擴(kuò)展到任何靜態(tài)的JSP文件。任何用< jsp:include>包含的靜態(tài)文件都可以。記詮動(dòng)態(tài)的頁(yè)面不可以。 

            表達(dá)式 

            在JSP頁(yè)面里用腳本語(yǔ)言表達(dá)式 

            JSP語(yǔ)法 

            < %=表達(dá)式%> 

            例子1 

            地圖文件有< font color="bule">< %=map.size()%>< /font>個(gè)。 

            猜的不錯(cuò),但是不對(duì)。試試< b>< %=numguess.gethint()%>< /b>。 

            描述 

            表達(dá)式通過(guò)計(jì)算得出值,轉(zhuǎn)換成字符串,插入到JSP頁(yè)面中想要顯示出來(lái)的地方。因?yàn)榈贸龅闹狄呀?jīng)是字符串了,那么你就可以在JSP頁(yè)面中用HTML標(biāo)簽任意的控制它。 

            當(dāng)你在JSP頁(yè)面中寫表達(dá)式的時(shí)候,記住以下要點(diǎn): 

            1、千萬(wàn)不要用分號(hào)來(lái)結(jié)束表達(dá)式(可是,在腳本中的表達(dá)式卻要加分號(hào);參閱腳本) 

            2、表達(dá)式中可以包含任何適合Java語(yǔ)言規(guī)范表達(dá)式。 

            有時(shí)候你可以把表達(dá)式的值作為JSP要素的屬性值。 

            腳本 

            頁(yè)面中用腳本語(yǔ)言編寫的腳本段 

            JSP語(yǔ)法 

            < %=代碼段%> 

            例子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")){ 

            %> 

            描述 

            一段代碼可以包括任意長(zhǎng)的代碼,聲明任意多的變量和方法或者包括任意多的表達(dá)式。當(dāng)你在編寫代碼的時(shí)候,你可以做如下事情: 

            1、為以后的需要聲明變量和方法(參閱:聲明) 

            2、使用表達(dá)式(參閱:表達(dá)式) 

            3、使用固定值和< jsp:useBean>中的對(duì)象 

            4、在頁(yè)面中使用任意其他聲明值(如果你使用JAVA語(yǔ)言,必須遵守JAVA規(guī)則)文本,HTML標(biāo)簽和JSP元素必須在腳本之外。腳本執(zhí)行需要時(shí)間。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


          關(guān)鍵詞: JSP Java 嵌入式 嵌入式

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();