版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第三章第三章JSP語法語法主講教師:姚俊兵第三章第三章JSP語法語法l什么是JSP?JSP頁面HTML,SERVLET,JSP的用例對比JSP還是Servlet ?lJSP的架構(gòu)模型Model 1,JSP 1層架構(gòu)Model 2,JSP 2層架構(gòu)lJSP語法元素JSP語法元素JSP標(biāo)簽類型l使用JSP重用Web組件 lJSP頁面一個(gè)JSP頁面就是指的包含Java代碼和HTML標(biāo)簽的web頁面 同時(shí)它也是一個(gè)服務(wù)器包含的技術(shù),單純的HTML頁面只是把標(biāo)簽靜態(tài)的渲染到瀏覽器,而JSP中的Java代碼由服務(wù)器處理產(chǎn)生單純的HTML文本數(shù)據(jù)而發(fā)送到客戶端 JSP規(guī)范列出了JSP頁面中使用到語法及各種語
2、義元素,這些元素就是JSP標(biāo)簽一個(gè)JSP頁面就是一個(gè)混合了動態(tài)JSP標(biāo)簽和靜態(tài)HTML標(biāo)簽的HTML模板。在運(yùn)行時(shí),模板被用來生成單純的HTML頁面,發(fā)送到客戶端 l什么是JSP?第三章第三章JSP語法語法lHTML,SERVLET,JSP的用例對比使用HTML,SERVLET,JSP三種技術(shù)來比較用Hello來向訪問者打招呼的例子Hello User l什么是JSP?第三章第三章JSP語法語法lJSP還是Servlet ?Q1:JSP在第一次運(yùn)行時(shí),會被容器翻譯成相應(yīng)的servlet,這會不會造成JSP速度比servlet 運(yùn)行慢?Q2:而在編寫頁面時(shí),JSP卻比 servlet省事的多,是
3、不是 servlet 就不適合WEB編程呢? 首先,JSP是存在第一次執(zhí)行速度慢的問題,但是執(zhí)行完第一次后,跟servlet 就沒有不同 其次,servlet 編寫一個(gè)簡單的頁面就得 out.print N次,的確繁瑣,但不代表不適合WEB編程,它可以很方便的處理業(yè)務(wù)邏輯,比如,addUser到數(shù)據(jù)庫,標(biāo)準(zhǔn)的java代碼結(jié)論,在一個(gè)WEB系統(tǒng)中,通常是servlet 和JSP的結(jié)合使用 l結(jié)合要點(diǎn)結(jié)合要點(diǎn):JSP頁面是用來可視化展現(xiàn)的,比如,操縱頁面頁面是用來可視化展現(xiàn)的,比如,操縱頁面 業(yè)務(wù)邏輯處理卻是業(yè)務(wù)邏輯處理卻是servlet的強(qiáng)項(xiàng)的強(qiáng)項(xiàng)JSP Model 2的基礎(chǔ) l什么是JSP?第
4、三章第三章JSP語法語法lJSP的架構(gòu)模型l什么是JSP?第三章第三章JSP語法語法Model 1,JSP 1層架構(gòu)Model 2,JSP 2層架構(gòu)第三章第三章JSP語法語法lJSP語法元素及標(biāo)簽類型l什么是JSP?元素類別所含元素JSP 標(biāo)簽類型簡短描述標(biāo)簽語法Directives指令集pageincludetaglibDirective指定JSP引擎翻譯時(shí)的指令Declarations聲明Java變量,方法的聲明定義Declaration聲明和定義方法和變量Scriptlets腳本ConditionalIterationScriptlet允許開發(fā)者在JSP頁面中自由編寫Java代碼Expr
5、essions表達(dá)式Expression作為JSP頁面輸出HTML代碼的便捷方式Actions動作jsp:includejsp:forwardjsp:useBeanjsp:setPropertyjsp:getPropertyjsp:pluginAction向JSP引擎發(fā)出提供請求時(shí)的指令Comments注釋Comment用于文檔和注釋JSP代碼XML-based syntaxXML格式的JSP語法count+; lJSP語法元素及標(biāo)簽類型案例l什么是JSP?第三章第三章JSP語法語法lJSP指令-directivespage 指令:page指令通知JSP引擎證實(shí)關(guān)于JSP頁面的所有屬性。這個(gè)指
6、令并不僅僅應(yīng)用在聲明它的頁面,而是作用于整個(gè)翻譯單元。include 指令:include指令告訴JSP引擎在當(dāng)前頁面包含其它web組件(HTML,JSP等)。taglib 指令用來關(guān)聯(lián)一個(gè)已知的taglib配置文件的前綴。 l什么是JSP?第三章第三章JSP語法語法lJSP頁面之page指令l什么是JSP?第三章第三章JSP語法語法lJSP頁面之page指令import 屬性l書寫格式(2種)l隱含導(dǎo)入的包,也就是不必再顯式導(dǎo)入的包l注意點(diǎn)可以出現(xiàn)多次import屬性,這個(gè)是page指令中的唯一特例重復(fù)導(dǎo)入的包會被忽略l什么是JSP?第三章第三章JSP語法語法java.lang.*, jav
7、ax.servlet.*, javax.servlet.jsp.*, javax.servlet.http.*12l什么是JSP?第三章第三章JSP語法語法lJSP頁面之page指令errorPage和isErrorPage屬性lJSP頁面處理異常的機(jī)制普通的try-catch塊使用errorPage和isErrorPage屬性errorPage也可以是error.htm,但是無法處理出錯信息而已l什么是JSP?第三章第三章JSP語法語法lJSP頁面之page指令language、extends和info屬性l說明頁面上的聲明,腳本和表達(dá)式用的語言,只有java可用lextends屬性指定頁面
8、生成的servlet的父類用來定制容器生成的JSP對應(yīng)的servlet類的特性該屬性基本上用不到linfo屬性,info屬性允許我們?yōu)樯傻膕ervlet的getServletInfo()方法返回的字符串。l什么是JSP?第三章第三章JSP語法語法lJSP頁面之page指令buffer和autoFlush屬性lbuffer屬性,buffer屬性指明在生成的內(nèi)容發(fā)送到客戶端前的輸出緩沖區(qū)的最小值,JSP規(guī)范指定最小為8kb(只能是kb后綴),如果不用緩沖而直接發(fā)送數(shù)據(jù)到客戶端,可設(shè)置為 none。lautoFlush屬性,autoFlush屬性指明一旦緩沖區(qū)滿緩沖區(qū)的數(shù)據(jù)是否自動發(fā)送到客戶端。默
9、認(rèn)值是true。如果設(shè)為false,一時(shí)緩沖區(qū)滿,再向緩沖區(qū)輸出數(shù)據(jù)就會報(bào)出異常。l下列組合就是非法的:翻譯成servlet時(shí)出錯 運(yùn)行時(shí)出錯 l什么是JSP?第三章第三章JSP語法語法lJSP頁面之page指令contentType和pageEncoding屬性 lcontentType屬性指明輸出的MIME類型和字符編碼MIME的默認(rèn)值為text/html;字符編碼的默認(rèn)值為ISO-8859-1。MIME和字符編碼之間用分號;隔開 等價(jià)于在servlet中寫:response.setContentType(text/html;charset=ISO-8859-1);lpageEncodin
10、g屬性指明JSP頁面所使用的編碼。默認(rèn)值為ISO-8859-1。中文編碼:gb2312,gbklJSP語法元素:Declarations (聲明)聲明就是在JSP頁面中聲明和定義變量和方法。聲明總是以結(jié)尾。 l什么是JSP?第三章第三章JSP語法語法 定義一個(gè)count變量,并賦初值0。聲明:變量僅在JSP引擎第一次裝載頁面的時(shí)候初始化一次(僅一次),而在接下來的客戶端請求中使用該變量的值。兩種使用方式等價(jià)lJSP語法元素:Scriptlets (腳本)腳本就是嵌套在JSP頁面中的Java代碼片段。總是以結(jié)尾。也得是Java合法語句l什么是JSP?第三章第三章JSP語法語法 腳本每次頁面訪問都
11、會執(zhí)行一次,所以count變量每請求一次就會增一% out.print(); count+; out.print(Welcome! You are visitor number + count); out.print();%腳本主要用來嵌套JSP頁面的業(yè)務(wù)邏輯,當(dāng)然也可以使用腳本來輸出HTML語句 lJSP語法元素:Expressions (表達(dá)式)表達(dá)式就是Java語言中的表達(dá)式,表達(dá)式也是每次頁面訪問都執(zhí)行一次,它的值就被嵌套在輸出的HTML語句中??偸且越Y(jié)尾l什么是JSP?第三章第三章JSP語法語法比如: Welcome! You are visitor number 使用表達(dá)式,可以輸
12、出任何對象或者任何基本數(shù)據(jù)類型(int, boolean, char等)到輸出流。當(dāng)然也可以打印任何數(shù)學(xué)運(yùn)算結(jié)果或者布爾表達(dá)式或者調(diào)用方法的返回值第三章第三章JSP語法語法lJSP語法元素:Expressions (表達(dá)式)合法的合法的JSP表達(dá)式表達(dá)式表達(dá)式解釋說明輸出一個(gè)整數(shù)一個(gè)數(shù)學(xué)表達(dá)式一個(gè)布爾變量一個(gè)布爾值一個(gè)布爾表達(dá)式一個(gè)返回char類型的方法調(diào)用一個(gè)返回double值的方法一個(gè)指向一個(gè)Vector對象的引用變量返回一個(gè)float值的方法返回一個(gè)float值的方法返回一個(gè)String對象的方法l什么是JSP?針對如下聲明片段,分析一下合法及不合法的表達(dá)式使用 非法的非法的JSP表達(dá)式
13、表達(dá)式表達(dá)式解釋說明表達(dá)式中不能使用分號;%= int i = 20 %表達(dá)式中不能出現(xiàn)任何定義方法沒有任何返回值,返回類型是void第三章第三章JSP語法語法lJSP語法元素:Actions (動作)動作是對JSP引擎發(fā)出的命令。它們指明引擎在執(zhí)行頁面時(shí)執(zhí)行特定的任務(wù)。比如,下面的代碼命令引擎在當(dāng)前輸出的JSP頁面中包含另外一個(gè)JSP頁面,copyright.jsp的輸出內(nèi)容。l什么是JSP? jsp:include jsp:forward jsp:useBean jsp:setProperty jsp:getProperty jsp:plugin 標(biāo)準(zhǔn)的JSP動作共6個(gè)頭兩個(gè)動作,jsp:
14、include和jsp:forward,使得JSP頁面能夠重用其它的web組件,參考重用web組件部分。接下來的三個(gè),jsp:useBean, jsp:setProperty和jsp:getProperty用于JSP頁面的JavaBeans,參考使用JavaBeans部分最后一個(gè)動作,jsp:plugin指明JSP引擎對于嵌套的客戶端組件,如applets生成合適的HTML代碼。除了這6個(gè)標(biāo)準(zhǔn)的動作,JSP頁面還可以使用用戶自定義的動作,也就是自定義標(biāo)簽(custom tags也就是自定義動作custom actions)。參考自定義標(biāo)簽部分 第三章第三章JSP語法語法lJSP語法元素:Com
15、ments (注釋)注釋從不會影響JSP頁面的輸出,但對于文檔卻是非常有幫助的。l什么是JSP?標(biāo)準(zhǔn)的JSP動作共6個(gè)語法如下:幾種注釋語句Welcome!不會輸出到產(chǎn)生的HTML頁面, 也不會生成到servlet不會輸出到產(chǎn)生的HTML頁面,到servlet輸出到產(chǎn)生的HTML頁面,到servlet第三章第三章JSP語法語法lJSP頁面就是頁面就是servlets 盡管JSP頁面看上去更像HTML頁面,但它實(shí)際上卻是可執(zhí)行的servlet。JSP引擎語法分析JSP文件,創(chuàng)建相應(yīng)的Java文件。該文件根據(jù)JSP文件的相應(yīng)元素聲明于之對應(yīng)各成員的映射servlet類。JSP引擎編譯這個(gè)類,把它載
16、入內(nèi)存,接著就以可執(zhí)行的servlet來運(yùn)行,隨之把servlet的輸出發(fā)送到客戶端 lJSP頁面生命周期頁面生命周期第三章第三章JSP語法語法l理解翻譯單元理解翻譯單元 翻譯單元示意圖翻譯單元示意圖lJSP頁面生命周期頁面生命周期第三章第三章JSP語法語法l理解翻譯單元理解翻譯單元 概念及要點(diǎn)概念及要點(diǎn)lJSP頁面生命周期頁面生命周期概念:就像HTML可以包含其它HTML頁面(比如,使用框架frames),JSP頁面也可以包含其它JSP頁面的內(nèi)容和靜態(tài)HTML頁面。這可由include指令完成。需要記住的最重要一點(diǎn)就是,在此時(shí)JSP引擎為JSP頁面生成Java代碼,同時(shí)也把包含的頁面內(nèi)容插入
17、到生成的servlet類中。用于翻譯到單一servlet類的一系列頁面就稱為一個(gè)翻譯單元 對于翻譯單元要時(shí)刻記住的幾點(diǎn):page指令,即頁面指令會影響整個(gè)翻譯單元在同一個(gè)翻譯單元中一個(gè)變量的聲明不能出現(xiàn)多次。比如,我們不能在使用include指令被包含的頁面中定義一個(gè)已經(jīng)在包含頁面中定義過的變量,因?yàn)檫@兩個(gè)頁面屬于同一個(gè)翻譯單元標(biāo)準(zhǔn)的動作不能在同一個(gè)翻譯單元中定義同一個(gè)bean多次。參考使用JavaBeans部分 第三章第三章JSP語法語法lJSP生命周期各階段生命周期各階段lJSP頁面生命周期頁面生命周期階段描述工作內(nèi)容Page translation 頁面翻譯分析頁面,生成相應(yīng)的servl
18、etJava文件讀取JSP頁面,分析,驗(yàn)證使用tag的語法,還要驗(yàn)證的工作:l指令集和標(biāo)準(zhǔn)動作的屬性值對的合法性l同一個(gè)JavaBean名稱在同一個(gè)翻譯單元中不能超過一次l如果使用自定義標(biāo)簽庫,確保該庫是合法的l自定義標(biāo)簽的使用是有效的Page compilation頁面編譯編譯生成的Java文件校驗(yàn)JSP頁面中使用的Java代碼的合法性Load class裝載類裝載編譯好的類文件跟servlet的生命周期過程非常類似,只不過jsp生成的servlet有其自己的業(yè)務(wù)方法來對應(yīng),比如:_jspService()方法對應(yīng)service()方法Create instance創(chuàng)建類實(shí)例Servlet類
19、實(shí)例被創(chuàng)建Call jspInit()調(diào)用jspInit()方法這個(gè)方法會在其它任何方法可初始化前調(diào)用Call _jspService()調(diào)用_jspService()方法每個(gè)請求都會調(diào)用這個(gè)方法Call jspDestroy()調(diào)用jspDestroy()方法這個(gè)方法在servlet容器不再使用該servlet服務(wù)時(shí)調(diào)用第三章第三章JSP語法語法lJSP生命周期示例生命周期示例lJSP頁面生命周期頁面生命周期翻譯后的servlet文件第三章第三章JSP語法語法l理解翻譯過程理解翻譯過程 JSP引擎分析翻譯JSP元素為servlet代碼所遵循的規(guī)則: lJSP頁面生命周期頁面生命周期1、JSP
20、引擎在翻譯階段使用一些指令集來產(chǎn)生Java代碼。 比如,在生成的servlet類中,page指令的import屬性就是用來幫助生成import語句,而info屬性幫助實(shí)現(xiàn)getServletInfo()方法。一些屬性僅用來對引擎指明頁面的全局屬性;如,language 指明引擎使用Java作為腳本語言,pageEncoding屬性指明引擎當(dāng)前頁面的字符編碼。2、所有JSP聲明都將成為產(chǎn)生的servlet類的一部分代碼。 它們只是從頁面照搬到servlet類。因此,JSP中聲明的變量成為servlet類中的實(shí)例變量,JSP中聲明的方式就成為了servlet類中的實(shí)例方法。3、所有JSP腳本都成為
21、生成servlet類中的_jspService()方法的一部分代碼。 它們也只是照搬而已。因此,腳本中聲明的變量成為_jspService方法的局部變量。腳本中是不允許定義方法的,對吧,在Java編程中無法在方法里面再嵌套方法。4、所有JSP表達(dá)式都成為生成servlet類中的_jspService()方法的一部分代碼。 它們被out.print()方法使用。5、所有JSP動作被供應(yīng)商提供的相應(yīng)類代替。6、所有JSP注釋被忽略。7、任何其它文本都成為生成servlet類中的_jspService()方法的一部分代碼。它們被out.write()方法使用。這樣的文本也叫模板文本。 會導(dǎo)致編譯失敗
22、http:/localhost:8080/counter/counter.jsp?jsp_precompile=true(預(yù)編譯預(yù)編譯jsp)第三章第三章JSP語法語法l理解翻譯過程理解翻譯過程 之 遵循規(guī)則的影響一lJSP頁面生命周期頁面生命周期使用腳本元素 腳本元素,由于聲明,腳本,表達(dá)式都允許在JSP頁面中編寫腳本式語言代碼,被統(tǒng)稱為腳本元素。使用Java語言作為腳本語言,結(jié)果呢,腳本元素的代碼行為要遵循Java編程語言編譯時(shí)期和運(yùn)行時(shí)期的規(guī)范。 聲明的順序 Java類中的聲明順序是可以隨意的,由此JSP頁面聲明中的變量和方法的順序也是無關(guān)的。 第三章第三章JSP語法語法l理解翻譯過程理
23、解翻譯過程 之 遵循規(guī)則的影響二lJSP頁面生命周期頁面生命周期腳本代碼的順序 由于腳本成為生成servlet類的_jspService()方法中的一部分,所有的腳本變量都成為該方法的局部變量,這樣它們出現(xiàn)的順序就變得極為重要。 變量初始化:Java中實(shí)例變量會被自動初始化為默認(rèn)值,而局部變量在使用前必須顯示初始化才可。同樣的JSP中的聲明變量會被初始化為默認(rèn)值,而JSP腳本聲明的變量在它們使用前必須被顯示的初始化。正確寫法:第三章第三章JSP語法語法l理解翻譯過程理解翻譯過程 之 遵循規(guī)則的影響三lJSP頁面生命周期頁面生命周期使用條件和循環(huán)語句一 腳本就是用來處理業(yè)務(wù)邏輯,最常用的邏輯無非
24、條件語句和循環(huán)語句。與之相對應(yīng)的JSP和HTML混合代碼 第三章第三章JSP語法語法l理解翻譯過程理解翻譯過程 之 遵循規(guī)則的影響三lJSP頁面生命周期頁面生命周期使用條件和循環(huán)語句二 腳本就是用來處理業(yè)務(wù)邏輯,最常用的邏輯無非條件語句和循環(huán)語句。容易犯的錯誤翻譯后正確寫法 循環(huán)語句第三章第三章JSP語法語法l理解翻譯過程理解翻譯過程 之 遵循規(guī)則的影響四lJSP頁面生命周期頁面生命周期使用請求時(shí)屬性表達(dá)式 用于這種方式傳值給動作屬性的表達(dá)式,稱為請求時(shí)屬性表達(dá)式。jsp:include page= /在這種情況下,表達(dá)式不再輸出,而是在請求時(shí)把值傳到j(luò)sp:include動作的page屬性中
25、。% page buffer= % include file= %必須牢記的是: 這種請求時(shí)提供值的機(jī)制不能套用到指令集。 為什么呢?指令集只有翻譯時(shí)的語義,這也就意味著JSP引擎只有在頁面翻譯時(shí)用得到指令集。所以下面是非法的使用:第三章第三章JSP語法語法l理解翻譯過程理解翻譯過程 之 遵循規(guī)則的影響五使用轉(zhuǎn)義字符序列正如其它任何編程語言,JSP腳本語言也有一些用于JSP引擎分析的關(guān)鍵字符。這些字符包括:單引號,雙引號,反斜杠,還有字符序列%, %!, %= , , 。如果需要把這些字符當(dāng)作普通字符來使用,需要在其前面加上反斜杠,以便告訴分析器不是特殊字符。分幾種情況:l在模板文本中l(wèi)在腳本
26、元素中 l在屬性中 l不被瀏覽器正確解釋的標(biāo)簽,可以使用其ascii碼 lJSP頁面生命周期頁面生命周期第三章第三章JSP語法語法l理解翻譯過程理解翻譯過程 之 遵循規(guī)則的影響五使用轉(zhuǎn)義字符序列在模板文本中JSP中所有的腳本元素都是以%字符作為標(biāo)簽開始的聲明(%!),腳本(%)和表達(dá)式(%=),JSP分析器就會尋找字符序列%作為JSP標(biāo)簽的開始,所以,在文本中使用%就得使用反斜杠()來避免與字符%關(guān)鍵字符沖突。lJSP頁面生命周期頁面生命周期The opening tag of a scriptlet is 既然是文本了,JSP引擎還會分析%嗎? 當(dāng)然不會。Out.write()出來 第三章第
27、三章JSP語法語法l理解翻譯過程理解翻譯過程 之 遵循規(guī)則的影響五使用轉(zhuǎn)義字符序列在腳本元素中所有的腳本元素都必須以%標(biāo)簽結(jié)束。一旦讀到標(biāo)簽頭,分析器就會尋找%作為結(jié)束標(biāo)簽。如果想在腳本元素中顯示%就得使用來轉(zhuǎn)義 lJSP頁面生命周期頁面生命周期%= The opening tag of a scriptlet is % 同樣的%并沒有使用轉(zhuǎn)義字符,因?yàn)樗呀?jīng)在分析器的表達(dá)式中的中間了。Out.print ()出來 第三章第三章JSP語法語法l理解翻譯過程理解翻譯過程 之 遵循規(guī)則的影響五使用轉(zhuǎn)義字符序列在屬性中在屬性中使用這些關(guān)鍵字符,都得進(jìn)行轉(zhuǎn)義 lJSP頁面生命周期頁面生命周期% pag
28、e info=A sample use of , , , characters. %對于使用單引號來寫屬性的值,則要對單引號進(jìn)行轉(zhuǎn)義% page info=A sample use of , , , characters. %X jsp:include page= /jsp:include page= / jsp:include page= / 修正為:第三章第三章JSP語法語法l理解翻譯過程理解翻譯過程 之 遵循規(guī)則的影響五使用轉(zhuǎn)義字符序列不被瀏覽器正確解釋的標(biāo)簽,可以使用其ascii碼 不被瀏覽器正確解釋的標(biāo)簽,可以使用其ascii碼 ,同樣可以進(jìn)行轉(zhuǎn)義 ,對于任何一個(gè)關(guān)鍵字符都適用。lJ
29、SP頁面生命周期頁面生命周期The opening tag of a scriptlet is <%The closing tag of a scriptlet is %>同樣也可以避免與關(guān)鍵字符(任何)的沖突 第三章第三章JSP語法語法l使用JSP重用Web組件 在JSP的世界中,重用web組件無非就是包含內(nèi)容或者在JSP頁面中輸出另外一個(gè)組件 靜態(tài)重用l靜態(tài)包含重用就是在JSP文件翻譯時(shí)期把另外JSP文件的web組件包含進(jìn)來,生成一個(gè)servlet 類文件。動態(tài)重用l動態(tài)包含重用就是在JSP頁面在請求時(shí)期把另外JSP頁面的web組件包含進(jìn)來,輸出。l使用使用JS
30、P重用重用Web組件組件 第三章第三章JSP語法語法l靜態(tài)包含 靜態(tài)包含的語法: l使用使用JSP重用重用Web組件組件 第三章第三章JSP語法語法l靜態(tài)包含 從被包含的文件中訪問變量l既然被包含的頁面代碼成為了包含頁面的一部分,所以在每個(gè)頁面中定義的變量和方法都可以被其它的頁面訪問(如果被包含頁面和包含頁面定義了一個(gè)同名變量,翻譯就會出錯),也可以一個(gè)頁面定義,其它頁面使用 靜態(tài)包含所造成的影響,也就是要遵守的規(guī)則l由于在翻譯時(shí)期不會處理任何業(yè)務(wù),這就意味著,file屬性的值不能是一個(gè)表達(dá)式(沒有執(zhí)行嘛,只是翻譯成java文件而已),所以下面這種使用方法是非法的。l由于請求參數(shù)是請求的一部分
31、,故在翻譯時(shí)期請求對請求參數(shù)也是一無所知的,所以file屬性的值不能傳遞任何參數(shù)到被包含的頁面?;诖?,使用下面的方式也是不合法的。l被包含的文件有可能無法被單獨(dú)編譯通過(被包含的文件或者包含的文件里面定義變量,而另外一方使用變量而不需要再定義)。當(dāng)然,避免頁面之間依賴的最好方式就是使用隱含pageContext的pageContext.setAttribute()和pageContext.setAttribute()方法來共享靜態(tài)包含頁面間的對象l使用使用JSP重用重用Web組件組件 第三章第三章JSP語法語法l動態(tài)包含 動態(tài)包含的語法: 語法中的page屬性是必填的。它也必須是一個(gè)相對URL,它可以指向一個(gè)靜態(tài)的抑或動態(tài)的web組件,包括可以是Servlet。也可以是一個(gè)請求時(shí)的表達(dá)式,比如:jsp:include page= / l使用使用JSP重用重用Web組件組件 第三章第三章JSP語法語法l動態(tài)包含 使用 jsp:includel使用使用JSP重用重用Web組件組件 由于的語義和RequestDispatcher.include()方法是等價(jià)的,故
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024屆貴州省貴陽市普通中學(xué)高三入學(xué)考試數(shù)學(xué)試題試卷
- Unit2 A new student Story time(說課稿)-2024-2025學(xué)年譯林版(三起)英語五年級上冊
- 布草收發(fā)勞務(wù)合同
- 裱花師傅勞動合同總結(jié)
- 頂板事故應(yīng)急演練
- 物聯(lián)網(wǎng)通信導(dǎo)論課件
- 姿態(tài)敏感器相關(guān)行業(yè)投資規(guī)劃報(bào)告范本
- 緩控釋制劑相關(guān)行業(yè)投資方案
- 電工材料:電氣相關(guān)項(xiàng)目投資計(jì)劃書范本
- 濕法混合顆粒機(jī)相關(guān)行業(yè)投資方案
- 軟件易用性檢查表
- 飲用純凈水(桶裝)質(zhì)量手冊
- 商業(yè)綜合體、購物中心、百貨商場商業(yè)運(yùn)營項(xiàng)目收益測算模板
- 殺蟲雙(單)合成反應(yīng)的研究及其工藝條件的優(yōu)化
- 承插型盤扣式鋼管腳手架驗(yàn)收表
- 日檢、周檢、月檢記錄表(2)
- 高中學(xué)生檔案表格
- 專業(yè)技術(shù)人員網(wǎng)絡(luò)安全知識提升
- 上期開特下期出特公式
- 單元測試報(bào)告模板(共6頁)
- 工裝驗(yàn)證報(bào)告
評論
0/150
提交評論