在傳統(tǒng)的HTML頁(yè)面文件中潛入腳本語(yǔ)言和JSP標(biāo)簽就構(gòu)成了一個(gè)JSP頁(yè)面文件。一個(gè)JSP頁(yè)面可由5種元素組合而成:
1. HTML頁(yè)面內(nèi)容
2. JSP注釋
3. JSP指令
4. JSP腳本元素
5. JSP動(dòng)作元素
JSP指令
語(yǔ)法:
<%@指令標(biāo)記 [屬性="值" 屬性="值"] %>
JSP指令有3類,分別為:
1. page(頁(yè)面指令)
2. include(文件加載指令)
3. taglib(引用標(biāo)簽庫(kù)并設(shè)置標(biāo)簽庫(kù)的前綴)
JSP腳本元素
腳本元素是JSP中使用最頻繁的元素,通過(guò)JSP腳本可以江JAVA代碼嵌入到HTML頁(yè)面中。所有可執(zhí)行的JAVA代碼,都可以通過(guò)JSP腳本來(lái)執(zhí)行。
JSP腳本元素主要包含如下3種類型:
1. JSP聲明語(yǔ)句(<%!變量或方法定義 %>)
2. JSP表達(dá)式(<%=表達(dá)式 %>)
3. JSP Scriptlets(<% Java代碼 %>)
JSP動(dòng)作元素
JSP動(dòng)作元素用來(lái)控制JSP的行為,執(zhí)行一些常用的JSP頁(yè)面動(dòng)作。通過(guò)動(dòng)作元素可以實(shí)現(xiàn)使用多行Java代碼能夠?qū)崿F(xiàn)的效果,如動(dòng)態(tài)插入文件、重用JavaBean組建、自定義標(biāo)簽等。
JSP中的動(dòng)作元素主要包含下面7個(gè):
1. <jsp:include page="文件的URL" flush="指定當(dāng)緩沖區(qū)滿時(shí),是否將其清空。默認(rèn)值為false" />? (可以包含靜態(tài)文件,也可以包含動(dòng)態(tài)文件)
2. <jsp:forward page="轉(zhuǎn)向頁(yè)面的URL地址" />? (用于頁(yè)面重定向。作用是停止當(dāng)前JSP頁(yè)面的執(zhí)行,而將客戶端請(qǐng)求轉(zhuǎn)交給另一個(gè)JSP頁(yè)面)
3. <jsp:param name="參數(shù)名字" value="指定給param的參數(shù)值"> ? (提供參數(shù)的附屬動(dòng)作元素)
4. <jsp:plugin> ? (可以將服務(wù)器端的JavaBean或Applet下載到客戶端執(zhí)行)
5. <jsp:useBean id="指定JavaBean的實(shí)例名" class="指定JavaBean的全限定類名" scope="指定JavaBean實(shí)例的作用域。默認(rèn)為當(dāng)前頁(yè)。page當(dāng)前頁(yè)面有效、request本次請(qǐng)求有效、session在本次session內(nèi)有效、application在本應(yīng)用內(nèi)一直有效">? (裝載一個(gè)將在JSP頁(yè)面中使用的JavaBase)
6. <jsp:setProperty name="要進(jìn)行設(shè)置的JavaBean的實(shí)例名" property="需要設(shè)置的JavaBean實(shí)例中的屬性名" value="將property中指定的屬性設(shè)置為該屬性值"> ? (獲取到Bean實(shí)例之后,便可以利用<jsp:setProperty>動(dòng)作元素來(lái)設(shè)置或修改Bean中的屬性值)
7. <jsp:getProperty name="指定要輸出的JavaBean的實(shí)例名" property="需要輸出的JavaBean實(shí)例中的屬性名"> ? (用來(lái)提取指定Bean屬性的值,并將其轉(zhuǎn)換成字符串,然后輸出)
<jsp:useBean>、<jsp:setProperty>和<jsp:getProperty>標(biāo)簽用在與JavaBeans的連接中。JavaBeans是軟件構(gòu)件——Java類——它可以在JSP中封裝Java代碼并從內(nèi)容中分離出邏輯表達(dá)。