




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1第3章
JSP動態(tài)網(wǎng)頁設(shè)計基礎(chǔ)
JSP包括如下基本內(nèi)容:JSP的數(shù)據(jù)類型JSP的變量、方法與表達(dá)式JSP注釋元素JSP指令元素JSP動作元素JSP腳本元素JSP的基本語法JSP頁面可以由HTML標(biāo)記和JSP元素共同組成,其中JSP代碼被標(biāo)記在“<%”和“%>”之間。我們可以使用任何文本編輯器來編寫JSP代碼,文件編寫好后以擴(kuò)展名“.jsp”保存。一個簡單的JSP頁面<%@pagecontentType="text/html;charset=gb2312"%><!--JSP指令標(biāo)簽--><%@pageimport="java.util.*"%><!--JSP指令標(biāo)簽--><html><!--HTML標(biāo)記符--><body><formname="form1"action="instring.jsp"method="post"><inputtype="text"name="jcs":<inputtype="submit"name="submit"value="提交"></form><%!Strings=null;%><!--變量聲明--><%//以下為Java程序片
s=request.getParameter("jcs");if(s==null){out.println("您輸入的是空串!");}else{out.println("您輸入的是:"+s);}%></body><!--HTML標(biāo)記符--></html>JSP程序的基本結(jié)構(gòu)(instring.jsp)數(shù)據(jù)類型數(shù)據(jù)細(xì)分類型占用空間簡單數(shù)據(jù)類型布爾型boolean1位字符型char2字節(jié)字節(jié)型byte1字節(jié)短整型short2字節(jié)整型int4字節(jié)長整型long8字節(jié)單精度型float4字節(jié)雙精度型double8字節(jié)復(fù)合類型類class接口interface數(shù)組JSP的基本結(jié)構(gòu):數(shù)據(jù)類型63.4變量、方法的聲明變量、方法的聲明和表達(dá)式表達(dá)式7變量、方法的聲明和表達(dá)式JSP中的聲明可以用來定義一個或多個合法的變量(包括普通變量和類變量)和方法,并不輸出任何的文本到輸出流去。在聲明元素中聲明的變量和方法將在JSP頁面初始化時被初始化。JSP聲明的語法格式為:<%!declaration;[declaration;]...%>,其中declaration為聲明的變量、方法的名稱和內(nèi)容。在聲明變量變量和方法時,需要注意以下幾點:聲明必須以";"結(jié)尾??梢灾苯邮褂迷?lt;%@page%>中被包含進(jìn)來的已經(jīng)聲明的變量和方法,不需要對它們重新進(jìn)行聲明。一個聲明僅在一個頁面中有效。如果想每個頁面都用到一些聲明,最好把它們寫成一個單獨的文件,然后用<%@include%>或<jsp:include>元素包含進(jìn)來。8表達(dá)式SP中表達(dá)式可以將某個計算結(jié)果轉(zhuǎn)換成一個字符串并且直接使用在輸出網(wǎng)頁上。包含一個符合JSP語法的表達(dá)式的語法格式為:<%=expression%>。JSP的表達(dá)式中沒有分號,除非在加引號的字符串部分才使用分號。變量聲明的語法格式為:
<%!聲明語句1;聲明語句2;…%>如:<%!inti=3;%><%!strings1,s2;%><%!chargetch(charc){returnc;}%>JSP的變量、方法與表達(dá)式
JSP的表達(dá)式是由變量、常量和運算符組成的式子,它可以將計算結(jié)果轉(zhuǎn)換成字符串直接在頁面中輸出。表達(dá)式的語法格式為:
<%=表達(dá)式%>如:<%="JavaServerPages"%>
在JSP中使用表達(dá)式應(yīng)注意:①表達(dá)式不需要用分號“;”作為結(jié)束標(biāo)志;②“<%=”符號間不要隨意添加空格。程序代碼見如下:JSP的變量、方法與表達(dá)式
JSP的基本結(jié)構(gòu):簡單數(shù)據(jù)類型綜合應(yīng)用示例(allexample.jsp)<%@pagecontentType="text/html;charset=gb2312"%><!--JSP指令標(biāo)簽--><%@pageimport="java.util.*"%><!--JSP指令標(biāo)簽--><html><!--HTML標(biāo)記符--><body><%//以下為Java程序片
booleanbooleanTemp=true;bytebyteTemp=80;charcharTemp='c';intintTemp=234;shortshortTemp=235;longlongTemp=1234567;floatfloatTemp=1.234F;doubledoubleTemp=1.23E-8;out.println("布爾變量booleanTemp值為:"+booleanTemp+"<br>");out.println("字符型變量charTemp值為:"+charTemp+"<br>");out.println("整型變量intTemp值為:"+intTemp+"<br>");out.println("短整型變量shortTemp值為:"+shortTemp+"<br>");out.println("字節(jié)型變量byteTemp值為:"+byteTemp+"<br>");out.println("長整型變量longTemp值為:"+longTemp+"<br>");out.println("單精度型變量floatTemp值為:"+floatTemp+"<br>");out.println("雙精度型變量doubleTemp值為:"+doubleTemp+"<br>");%></body><!--HTML標(biāo)記符--></html>一維數(shù)組定義格式:數(shù)據(jù)類型數(shù)組名[]如:intintArray[];聲明數(shù)組同時也分配內(nèi)存
intintArray[]=newint[10];或 int[]intArray=newint[10];
定義數(shù)組同時初始化: intintArray[]={1,2,1,3,4,7,6};JSP的數(shù)組二維數(shù)組定義及初始化 intintArray1[][]=newint[10][9]; intintArray2[][]={{1,2,3},{2,3,4},{3,4,5}};第一句聲明了一個10行9列的二維整型數(shù)組,并分配空間,所有的數(shù)據(jù)被初始化為0;第二句聲明了一個3行3列的二維數(shù)組,并同時給每個數(shù)據(jù)元素賦初始值。JSP的二維數(shù)組與多維<%@pagecontentType="text/html;charset=gb2312"%><html><body><%inti;//數(shù)組一唯下標(biāo)
intj;//數(shù)組二唯下標(biāo)
intk;//計數(shù)變量
intintArray[][]=newint[5][6];//聲明一個5行6列的二唯數(shù)組
k=0;//數(shù)組賦初值
數(shù)組應(yīng)用實例(intArray.jsp)for(i=0;i<5;i++)for(j=0;j<6;j++){intArray[i][j]=k;k++;}//輸出數(shù)組中的值
for(i=0;i<5;i++){for(j=0;j<6;j++)out.print(intArray[i][j]+"");out.print("<br>");}%></body></html>類的基礎(chǔ)知識classBox{//定義一個類 doublelength; doublewidth; doubleheight; doubleBoxVolume() { doubleVolumeTemp; VolumeTemp=length*height*width; returnVolumeTemp; }}BoxthisBox=newBox();//聲明一個類的實例JSP的類classBox{//定義一個類 doublelength; doublewidth; doubleheight; Box(){ length=10; width=10; height=10; } doubleBoxVolume() { doubleVolumeTemp; VolumeTemp=length*height*width; returnVolumeTemp; }}JSP的類的構(gòu)造函數(shù)classBox{//定義一個類doublelength;doublewidth;doubleheight;Box(){ length=10; width=10; height=10; }Box(doublel,doublew,doubleh) { length=10; width=10; height=10; }JSP的類的方法重載doubleBoxVolume(){doubleVolumeTemp;VolumeTemp=length*height*width;returnVolumeTemp;}}classsuperclass_A//超類{ inti; intj; intadd_i_j() { returni+j; } }classsubclass_Aextendssuperclass_A//子類{ intk; intadd_i_j_k() { returni+j+k; }}JSP的類的繼承實例JSP中的注釋可以分為兩類:一類是在客戶端可見的注釋,我們可以稱其為HTML注釋;還有一類是客戶端不可見的注釋,這類注釋有隱藏注釋以及腳本代碼中的注釋。HTML注釋其語法格式為:<!--注釋語句<%=表達(dá)式%>-->
隱藏注釋其語法格式為:
<%--注釋語句--%>
腳本代碼的注釋其語法格式為:<%//注釋語句%>或<%/*注釋語句*/%>程序代碼見程序清單8-3。JSP注釋元素
203.5JSP指令include指令Page指令taglib指令21include指令在JSP中用include指令包含一個靜態(tài)的文件,同時解析這個文件中的JSP語句,使用jsp的include指令有助于實現(xiàn)jsp頁面的模塊化。其語法格式為:<%@includefile=“filename”%>,其中filename指被包含的文件的名稱。<%@include%>指令將會在JSP編譯時插入一個包含文本或代碼的文件,當(dāng)使用<%@include%>指令時,這個包含的過程是靜態(tài)的。靜態(tài)的包含是指這個被包含的文件將會被插入到JSP文件中去,這個包含的文件可以是JSP文件、HTML文件、文本文件。如果包含的是JSP文件,這個包含的JSP文件中的代碼將會被執(zhí)行。22Page指令Page指令用來定義JSP文件中的全局屬性,它描述了與頁面相關(guān)的一些信息,其作用域為它所在的JSP文件頁面和其包含的文件,但是<%@page%>指令不能作用于動態(tài)的包含文件,例如<jsp:include>。Page指令的語法格式為:<%@page[language="java"][extends="package.class"][import="{package.class|package.*},..."][session="true|false"][buffer="none|8kb|sizekb"][autoFlush="true|false"][isThreadSafe="true|false"][info="text"][errorPage="relativeURL"][contentType="mimeType[;charset=characterSet]"|"text/html;charset=ISO-8859-1"][isErrorPage="true|false"]%>
無論把<%@page%>指令放在JSP的文件的哪個地方,它的作用范圍都是整個JSP頁面。23taglib指令taglib指令用來定義一個標(biāo)簽庫以及其自定義標(biāo)簽的前綴。其語法格式為:<%@tagliburi="tagLibraryURI"prefix="tagPrefix"%>其中,屬性uri(UniformResourceIdentifier,統(tǒng)一資源標(biāo)識符)用來唯一的確定標(biāo)簽庫的路徑,并告訴JSP引擎在編譯JSP程序時如何處理指定標(biāo)簽庫中的標(biāo)簽,屬性prefix定義了一個指示使用此標(biāo)簽庫的前綴。JSP指令用于通知JSP引擎如何處理JSP頁面,它并不直接向客戶端產(chǎn)生任何輸出。指令元素的語法格式為:<%@指令名屬性名1="屬性值1",屬性名2="屬性值2",…%>
常用的JSP指令有include指令、page指令和taglib指令。JSP指令元素include指令include指令用來在當(dāng)前JSP頁面中加載需要插入的文本或代碼文件,這些加載的代碼將和原有的JSP代碼合并成一個新的JSP文件,并由JSP引擎編譯后執(zhí)行。其語法格式為:
<%@includefile="相對路徑"%>如:<%@includefile="head.jsp"%>
程序代碼見top.txt,bottom.txt和includeSample1.jsp。JSP指令元素page指令page指令用來定義整個JSP頁面要使用的屬性,如所使用的腳本語言、要導(dǎo)入的包文件、錯誤處理方法等等。其語法格式為:<%@page[language="java"][import="{package.class|package.*},..."][extends="package.class"][contentType="text/html;charset=ISO-8859-1"|"mimeType[;charset=CHARSET]"][session="True|False"][buffer="none|8kb|sizekb"][autoFlush="Ture|False"][isThreadSafe="True|False"][info="text"][errorPage="relativeURL"][isErrorPage="True|False"]%>
JSP的指令元素taglib指令taglib指令用于用戶自定義標(biāo)簽庫以及標(biāo)記的前綴。其語法格式為:
<%@tagliburi="taglibURI"prifex="tagPrefix"%>JSP的指令元素283.6JSP動作(Action)語法<jsp:include>動作<jsp:useBean>動作<jsp:setProperty>動作<jsp:getProperty>動作<jsp:forward>動作<jsp:plugin>29<jsp:include>動作<jsp:include>動作用來把指定文件插入正在生成的頁面。其語法如下:<jsp:includepage=“relativeURL”flush=“true”/><jsp:include>動作允許包含靜態(tài)文件和動態(tài)文件,這兩種包含文件的結(jié)果是不同的。如果文件僅是靜態(tài)文件,那么這種包含僅僅是把包含文件的內(nèi)容加到j(luò)sp文件中去,這個文件不會被JSP編譯器執(zhí)行;如果這個文件動態(tài)的,那么這個被包含文件也會被JSP編譯器執(zhí)行。30<jsp:useBean>動作<jsp:useBean>動作用來裝載一個將在JSP頁面中使用的JavaBean。這個功能非常有用,因為它既可以發(fā)揮Java組件重用的優(yōu)勢,同時也避免了損失JSP區(qū)別于Servlet的方便性。其語法格式為:<jsp:useBeanid="beanInstanceName"scope="page|request|session|application"{class="package.class"|type="package.class"|class="package.class"type="package.class"|beanName="{package.class|<%=expression%>}"type="package.class“}{/>|>otherelements</jsp:useBean>}<jsp:useBean>元素的主體通常包含有<jsp:setProperty>元素,用于設(shè)置Bean的屬性值。正如上面所說的,<jsp:useBean>的主體僅僅只有在<jsp:useBean>示例Bean時才會被執(zhí)行,如果這個Bean已經(jīng)存在,<jsp:useBean>能夠定位它,那么主體中的內(nèi)容將不會起作用,但你可以在<jsp:useBean>元素外用<jsp:setProperty>元素設(shè)定JavaBean的屬性。31<jsp:setProperty>動作獲得Bean實例之后,可以利用<jsp:setProperty>動作設(shè)置、修改Bean中的屬性值。其語法格式如下:<jsp:setPropertyname="beanInstanceName"{property="*"|property="propertyName"[param="parameterName"]|property="propertyName"value="{string|<%=expression%>}"}/><jsp:setProperty>元素使用Bean給定的setter方法,在Bean中設(shè)置一個或多個屬性值。在使用這個元素之前必須使用<jsp:useBean>聲明此Bean,因為<jsp:useBean>和<jsp:setProperty>是聯(lián)系在一起的,同時它們使用的Bean實例的名字也應(yīng)當(dāng)相匹配。32<jsp:getProperty>動作<jsp:getProperty>動作用來提取指定Bean屬性的值,轉(zhuǎn)換成字符串,然后輸出。其語法格式為:<jsp:getPropertyname="beanInstanceName"property="propertyName"/><jsp:getProperty>元素可以獲取Bean的屬性值,并可以將其使用或顯示在JSP頁面中。在使用<jsp:getProperty>之前,必須用<jsp:useBean>創(chuàng)建它。33<jsp:forward>動作<jsp:forward>用于引導(dǎo)客戶端的請求到另一個頁面或者是另一個Servlet去。其語法格式為:<jsp:forwardpage={"relativeURL"|"<%=expression%>"}/><jsp:forward>動作可以包含一個或幾個<jsp:param>子動作,用于向要引導(dǎo)進(jìn)入的頁面?zhèn)鬟f參數(shù)。需要注意,當(dāng)<jsp:forward>動作發(fā)生的時候,如果已經(jīng)有文本被寫入輸出流而且頁面沒有設(shè)置緩沖,那么將拋出一個IllegalStateException的異常。34<jsp:plugin>在JSP處理這個動作的時候,將根據(jù)客戶端瀏覽器的不同,JSP在執(zhí)行以后將分別輸出為OBJECT或EMBED這兩個不同的HTML元素。其語法格式為:<jsp:plugintype="bean|applet"code="classFileName"codebase="classFileDirectoryName"[name="instanceName"][archive="URIToArchive,..."][align="bottom|top|middle|left|right"][height="displayPixels"][width="displayPixels"]35[hspace="leftRightPixels"][vspace="topBottomPixels"][jreversion="JREVersionNumber|1.1"][nspluginurl="URLToPlugin"][iepluginurl="URLToPlugin"]>[<jsp:params>[<jsp:paramname="parameterName"value="{parameterValue|<%=expression%>}"/>]</jsp:params>][<jsp:fallback>textmessageforuser</jsp:fallback>]</jsp:plugin>常用的JSP動作包括<jsp:param>、<jsp:include>、<jsp:useBean>、<jsp:setProperty>、<jsp:getProperty>、<jsp:forward>和<jsp:plugin>、<jsp:params>、<jsp:fallback>等JSP的動作元素<jsp:param>動作<jsp:param>動作用來為JSP頁面的其他標(biāo)記提供附加信息,通常它以“名/值”的方式傳遞到頁面中。其語法格式為:<jsp:paramname="參數(shù)名"value="參數(shù)值"/>
JSP的動作元素程序代碼見paramExample1.jsp和forParam.jsp<jsp:include>動作<jsp:include>動作用來在生成的WEB頁面中插入指定的文件。其語法格式為:<jsp:includepage="文件名"flush="true"/>或<jsp:includepage="文件名"flush="true"><jsp:paramname="參數(shù)名1"value="參數(shù)值1"/><jsp:paramname="參數(shù)名2"value="參數(shù)值2"/>……</jsp:include>JSP的動作元素<jsp:setProperty>、<jsp:getProperty>和<jsp:useBean>動作(1)<jsp:setProperty>動作<jsp:setProperty>是和<jsp:useBean>動作一起使用的,用來設(shè)置Bean的屬性值。
其語法格式為:<jsp:setPropertyname="Bean的名字"property="*"/>或<jsp:setPropertyname="Bean的名字"property="屬性名"[param="參數(shù)名"]/>或<jsp:setPropertyname="Bean的名字"property="屬性名"value="屬性值"/>JSP的動作元素(2)<jsp:getProperty>動作<jsp:getProperty>是和<jsp:useBean>動作一起使用的,用來獲取Bean的屬性值。所得到的值會轉(zhuǎn)換成相應(yīng)的字符串,然后發(fā)送到輸出流輸出。其語法格式為:<jsp:getPropertyname="Bean的名字"property="屬性名"/>JSP的動作元素(3)<jsp:useBean>動作
<jsp:useBean>動作用于加載要在JSP頁面中使用的已經(jīng)定義的JavaBean,使用該動作在JSP頁面中創(chuàng)建該Bean的實例,并指定它的名字以及作用范圍。JSP的動作元素(3)<jsp:useBean>動作其語法格式為:<jsp:useBeanid="name"scope="page|request|session|application"class="classname"/>或<jsp:useBeanid="name"scope="page|request|session|application"class="classname"type="typename"/>或<jsp:useBeanid="name"scope="page|request|session|application"beanName="beanName"type="typename"/>或<jsp:useBeanid="name"scope="page|request|session|application"type="typename"/>
JSP的動作元素(3)<jsp:useBean>動作程序代碼見程序清單8-9,程序清單8-10
和程序清單8-11
。JSP的動作元素<jsp:forward>動作<jsp:forward>動作用于停止當(dāng)前頁面的剩余操作,而轉(zhuǎn)向另一個HTML或JSP頁面文件??蛻舳丝吹降娜匀皇钱?dāng)前頁面的地址,但顯示內(nèi)容為轉(zhuǎn)向的新頁面。其語法格式為:<jsp:forwardpage="目標(biāo)文件URL"/>或<jsp:forwardpage="目標(biāo)文件URL"><jsp:paramname="參數(shù)名1"value="參數(shù)值1"/><jsp:paramname="參數(shù)名2"value="參數(shù)值2"/>……</jsp:forward>程序代碼見forwardExample1.jspJSP的動作元素<jsp:plugin>動作
<jsp:plugin>動作用于在客戶端瀏覽器插入Applet程序或JavaBean。程序代碼見appletExample1.jsp和Blink.java。JSP的動作元素<jsp:plugin>動作語法格式為:<jsp:plugintype="bean|applet"
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- led顯示屏采購合同范本
- 教材 課題申報書
- 人防工程專用合同范本
- 政研會課題申報書格式
- 代理書畫銷售合同范本
- 東易日盛合同范本
- 合同范本簡歷
- 合伙快遞合同范本
- 北京建委 施工合同范本
- 全民養(yǎng)羊合同范本
- 《材料工程基礎(chǔ)》教學(xué)大綱
- 國內(nèi)外材料牌號對照
- 建設(shè)工程施工合同培訓(xùn)PPT(49頁)
- 巴黎盧浮宮介紹PPT模板課件
- 蒂森克虜伯電梯曳引輪鋼絲繩安裝布置
- LY∕T 2780-2016 松皰銹病菌檢疫技術(shù)規(guī)程
- 航空服務(wù)形體訓(xùn)練課程標(biāo)準(zhǔn)
- 項目部安全管理組織機(jī)構(gòu)網(wǎng)絡(luò)圖GDAQ20102
- 蘇科版四年級勞動技術(shù)下冊教學(xué)計劃
- 電網(wǎng)公司客戶資產(chǎn)接收管理細(xì)則
- 干部選拔任用工作報告(一報告兩評議).doc
評論
0/150
提交評論