![《Web應(yīng)用開發(fā)技術(shù)》課件第六章_第1頁](http://file4.renrendoc.com/view14/M01/00/2A/wKhkGWdiZUqAFGv5AACFHWL53Qc445.jpg)
![《Web應(yīng)用開發(fā)技術(shù)》課件第六章_第2頁](http://file4.renrendoc.com/view14/M01/00/2A/wKhkGWdiZUqAFGv5AACFHWL53Qc4452.jpg)
![《Web應(yīng)用開發(fā)技術(shù)》課件第六章_第3頁](http://file4.renrendoc.com/view14/M01/00/2A/wKhkGWdiZUqAFGv5AACFHWL53Qc4453.jpg)
![《Web應(yīng)用開發(fā)技術(shù)》課件第六章_第4頁](http://file4.renrendoc.com/view14/M01/00/2A/wKhkGWdiZUqAFGv5AACFHWL53Qc4454.jpg)
![《Web應(yīng)用開發(fā)技術(shù)》課件第六章_第5頁](http://file4.renrendoc.com/view14/M01/00/2A/wKhkGWdiZUqAFGv5AACFHWL53Qc4455.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
6.1JSP指令元素6.2JSP動(dòng)作習(xí)題6第6章JSP標(biāo)簽
JSP指令元素為翻譯階段提供全局信息。例如,設(shè)置全局變量的值和輸出內(nèi)容的類型,聲明要引用的類,指明頁面中包含的文件等。所有的指令元素在整個(gè)文件的范圍內(nèi)都有效。指令元素從JSP發(fā)送這些信息到JSP/Servlet容器上,但它們并不向客戶機(jī)產(chǎn)生任何輸出。
目前,JSP中有三個(gè)指令元素,分別是page、include和taglib。6.1JSP指令元素6.1.1page指令
page指令用來定義JSP文件的全局屬性。其語法格式如下:
<%@page屬性1="屬性1的值"屬性2="屬性2的值"……%>
例如:
<%@pagecontentType="text/html;charset=GB2312"%>
這條page指令就指定了contentType屬性的值是"text/html;charset=GB2312",即JSP頁面的MIME類型是text/html,使用的字符集是GB2312,這樣可以顯示標(biāo)準(zhǔn)的漢字。
page指令的屬性主要包括:language,import,contentType,info,pageEncoding,buffer,autoFlush,session,errorPage,isErrorPage,isThreadSafe等。表6.1列出了page指令的屬性及其作用。
表6.1page指令的屬性及其用法說明續(xù)表在一個(gè)JSP頁面中,可以用一條page指令來指定多個(gè)屬性的值,也可以用多條page指令來指定各個(gè)屬性的值。但是,需要注意的是,除import屬性外,其它屬性只能使用一次page指令給該屬性指定一個(gè)值。由于import屬性的取值較多,因此,可以在一條page指令中為import屬性指定多個(gè)值,各個(gè)值間用逗號(hào)分隔;也可以使用多個(gè)page指令給import屬性指定幾個(gè)值。例如,下面兩種寫法都是正確的:
<%@pageimport="java.io.*","javax.servlet.*","java.util.Date"%>
或者
<%@pageimport="java.io.*"%>
<%@pageimport="javax.servlet.*","java.util.Date"%>
注意:page指令對(duì)整個(gè)頁面有效,可以在JSP頁面的任何地方寫這種代碼。但是,好的習(xí)慣是把它寫在JSP程序的最前面,而且因?yàn)樗荍SP頁面指令,請(qǐng)記住一定要寫在<HTML>標(biāo)記的前面。6.1.2include指令
include指令的作用是在JSP頁面出現(xiàn)該指令的位置處靜態(tài)插入一個(gè)文件,即通知JSP容器在當(dāng)前頁面的include指令位置上嵌入指定的資源文件的內(nèi)容。include指令的語法如下:
<%@includefile="文件名"%>
所謂靜態(tài)插入,就是將當(dāng)前JSP頁面和插入的部分合并成一個(gè)新的JSP頁面,然后再由JSP引擎將這個(gè)新的JSP頁面轉(zhuǎn)譯成Java類文件。因此,使用include指令插入文件時(shí),應(yīng)注意下面幾個(gè)問題:
(1)
include指令所包含文件的文件名不能是變量,文件名后也不能帶任何參數(shù)。文件的擴(kuò)展名可以是
.jsp、.html、.txt和
.inc等,且必須保證被插入的文件是可獲得和可訪問的。
(2)如果在文件名中包含有路徑信息,則路徑必須是相對(duì)于當(dāng)前JSP網(wǎng)頁文件的路徑,一般情況下該文件必須和當(dāng)前JSP頁面在同一Web服務(wù)目錄中。如果路徑以“/”開頭,則這個(gè)路徑主要是參照J(rèn)SP應(yīng)用的上下關(guān)系路徑;如果路徑是以目錄名開頭,則這個(gè)路徑就是正在使用的JSP文件的當(dāng)前路徑。
(3)使用include指令插入文件后,必須保證新合并成的JSP頁面符合JSP語法規(guī)則,即形成一個(gè)新的JSP頁面文件后,不存在語法沖突。例如,如果在一個(gè)JSP頁面中使用include指令插入另一個(gè)JSP文件,而這兩個(gè)文件中都用page指令設(shè)置了頁面contentType屬性,如果二者不一致時(shí)就會(huì)出現(xiàn)語法錯(cuò)誤,當(dāng)轉(zhuǎn)譯合并JSP頁面到Java文件時(shí)就會(huì)失敗。
(4)如果修改了被包含的文件,則也應(yīng)將當(dāng)前的JSP文件修改一下(在實(shí)際操作中,就是在編輯狀態(tài)下打開該JSP文件,重新保存一次)。這是因?yàn)镴SP引擎是通過比較JSP頁面文件和相應(yīng)的字節(jié)碼文件的最后修改日期來判斷JSP頁面是否被修改過,如果兩者相同,則認(rèn)為JSP網(wǎng)頁未被修改。由于在include指令中被包含的文件是在編譯成字節(jié)碼文件之前插入到源JSP頁面中的,所以,如果只是修改了被包含的文件,而沒有修改JSP頁面文件,則得到的結(jié)果將和修改前是一樣的。
【示例程序include.jsp和calculate.jsp】
include指令的使用。在這個(gè)例子中我們編寫了一個(gè)計(jì)算平方根的程序calculate.jsp,然后在include.jsp中使用<%@includefile="calculate.jsp"%>指令將這個(gè)文件包含進(jìn)來,使include.jsp能完成計(jì)算平方根的功能。其執(zhí)行效果如圖6.1所示。
圖6.1在include.jsp中包含calculate.jsp的效果
(1)
include.jsp文件的源代碼如下。
<%@pagecontentType="text/html;charset=gb2312"%>
<HTML>
<HEAD>
<TITLE>使用include包含文件</TITLE>
</HEAD>
<BODY>
<PALIGN=center>
請(qǐng)輸入一個(gè)正數(shù),單擊按鈕計(jì)算這個(gè)數(shù)的平方根!
<%@includefile="calculate.jsp"%>
</P>
</BODY>
</HTML>
(2)
calculate.jsp文件的源代碼如下。
<%@pagecontentType="text/html;charset=gb2312"%>
<FORM
ACTION=""METHOD="post">
<INPUTTYPE="text"NAME="ok">
<INPUTTYPE="submit"VALUE="計(jì)算">
</FORM>
<%Stringa=request.getParameter("ok");
if(a==null)a="1";
try
{
doublenumber=Integer.parseInt(a);
out.println("<BR>計(jì)算結(jié)果是:"+Math.sqrt(number));
}
catch(NumberFormatExceptione)
{out.println("<BR>請(qǐng)輸入數(shù)字");}
%>6.1.3taglib指令
這個(gè)指令用于引入一些特定的標(biāo)簽庫以簡(jiǎn)化JSP頁面的開發(fā)。這些標(biāo)簽可以是JSP標(biāo)準(zhǔn)標(biāo)簽庫(JSPStandardTagLibrary,JSTL)中的標(biāo)簽,也可以是使用者自己定義和開發(fā)的標(biāo)簽。使用JSP標(biāo)簽庫的語法格式如下:
<%@taglibprefix="標(biāo)簽前綴"uri="標(biāo)簽庫的統(tǒng)一資源定位符"%>
其中,prefix指出要引入的標(biāo)簽的前綴;uri(UniformResourceIdentifer,統(tǒng)一資源定位符)用于指出所引用標(biāo)簽資源的位置,可以使用絕對(duì)路徑或相對(duì)路徑。例如:
<%@taglibprefix="c"uri="/jsp/jstl/core"%>
表示從JSP標(biāo)準(zhǔn)標(biāo)簽庫的core庫中引入前綴為c的標(biāo)簽。
使用標(biāo)簽庫的主要好處是增加了代碼的重用度,使頁面易于維護(hù)。例如,可以把一些需要迭代顯示的內(nèi)容做成一個(gè)標(biāo)簽,在每次迭代顯示時(shí),使用這個(gè)標(biāo)簽就可以了,不必重復(fù)書寫這些代碼。然而,由于目前的tomcat中還沒有將JSTL集成進(jìn)去,如果要使用標(biāo)準(zhǔn)標(biāo)簽庫(JSTL),需要下載和安裝標(biāo)簽庫文件,修改web.xml文件并進(jìn)行相關(guān)的設(shè)置等,操作比較繁雜。雖然通過下載并安裝MyEclipse插件可以解決一些問題,但仍然需要具備一些相關(guān)的知識(shí)。鑒于此,我們將在第11章介紹了XML語言后,在第12章專門介紹JSP中開發(fā)自定義標(biāo)簽庫的技術(shù)和使用標(biāo)準(zhǔn)標(biāo)簽庫的方法。
與在編譯階段提供全局信息的JSP指令元素相對(duì)應(yīng),JSP動(dòng)作元素在執(zhí)行階段起作用,動(dòng)態(tài)地為頁面提供一些信息和插件等。JSP動(dòng)作元素采用類似HTML/XML語法書寫,并采用以下兩種語法格式中的一種:6.2JSP動(dòng)作
<jsp:動(dòng)作名屬性1="值1"屬性2="值2"……/>
或者
<jsp:動(dòng)作名屬性1="值1"屬性2="值2"……>
……
</jsp:動(dòng)作名>
JSP規(guī)范定義了一系列的標(biāo)準(zhǔn)動(dòng)作,它們均以jsp作為前綴。這些動(dòng)作元素中使用比較頻繁的主要有:<jsp:param>,<jsp:include>,<jsp:forword>,<jsp:plugin>,<jsp:fallback>,<jsp:useBean>,<jsp:setProperty>,<jsp:getProperty>,<jsp:attribute>等。6.2.1param動(dòng)作
param動(dòng)作以“名—值”對(duì)的形式為其它標(biāo)簽提供附加信息。這個(gè)動(dòng)作與<jsp:include>、<jsp:forward>、<jsp:plugin>動(dòng)作一起使用。它的使用方式如下:
<jsp:paramname="名字"value="指定給param的值"/>
我們將在下面的幾個(gè)小節(jié)中結(jié)合<jsp:include>、<jsp:forward>、<jsp:plugin>動(dòng)作的使用來說明<jsp:param>動(dòng)作。6.2.2include動(dòng)作
如果需要在JSP頁面內(nèi)某處動(dòng)態(tài)地加入一個(gè)文件,可以使用include動(dòng)作。該動(dòng)作告訴JSP頁面,在JSP頁面執(zhí)行時(shí)將指明的文件加入進(jìn)來。其使用格式如下:
<jsp:includepage="文件名"flush="true"/>
或者
<jsp:includepage="文件名"flush="true">
<jsp:paramname="名字"value="指定給param的值"/>
……
</jsp:include>
include動(dòng)作與include指令有下述幾點(diǎn)不同:
(1)
include動(dòng)作動(dòng)態(tài)地插入文件到JSP頁面中,而include指令靜態(tài)地插入文件到JSP頁面中。即當(dāng)JSP引擎把JSP頁面轉(zhuǎn)譯成Java文件時(shí),不把JSP頁面中用include動(dòng)作所包含的文件與原JSP頁面合并成一個(gè)新的JSP頁面,而是告訴Java解釋器,這個(gè)文件在JSP運(yùn)行時(shí)(Java文件的字節(jié)碼文件被加載執(zhí)行時(shí))才包含進(jìn)來。如果被包含的文件是普通的HTML文件(靜態(tài)文件),就將文件的內(nèi)容發(fā)送到客戶端,由客戶端負(fù)責(zé)顯示;如果被包含的文件是JSP文件(動(dòng)態(tài)文件),JSP引擎就執(zhí)行這個(gè)文件,然后將執(zhí)行結(jié)果發(fā)送到客戶端,由客戶端負(fù)責(zé)顯示執(zhí)行結(jié)果。
(2)由于include動(dòng)作在執(zhí)行時(shí)才對(duì)包含的文件進(jìn)行處理,因此,JSP頁面和它所包含的文件在邏輯上和語法上都是獨(dú)立的。如果對(duì)include動(dòng)作中包含的文件進(jìn)行了修改,那么運(yùn)行時(shí)可以看到所包含文件修改后的結(jié)果;而如果對(duì)include指令中包含的文件進(jìn)行了修改,則必須重新編譯JSP頁面文件,否則只能看到所包含文件修改前的內(nèi)容。
(3)當(dāng)include動(dòng)作與param動(dòng)作一起使用時(shí),可以將param動(dòng)作中的參數(shù)值傳遞到include動(dòng)作要加載的文件中去。因此,include動(dòng)作如果結(jié)合param動(dòng)作,可以在加載文件的過程中向該文件提供信息。
(4)
include動(dòng)作可以動(dòng)態(tài)增加內(nèi)容,但它的運(yùn)行效率比include指令低。
【示例程序jsp_include.jsp、twoParam.jsp和login.html】
include動(dòng)作與include指令的應(yīng)用對(duì)比。在這個(gè)例子的jsp_include.jsp程序中,我們分別使用<%@include%>指令和<jsp:include>動(dòng)作包含了twoParam.jsp程序,并在twoParam.jsp和jsp_include.jsp兩個(gè)文件中都使用JSP內(nèi)置對(duì)象request的getParameter方法獲取兩個(gè)參數(shù)yourname和yourpass的值,在jsp_include.jsp中還使用<jsp:param>動(dòng)作傳遞這兩個(gè)參數(shù)的值。下面是這幾個(gè)文件的源代碼。
(1)程序jsp_include.jsp的源代碼如下。
<%@pagecontentType="text/html;charset=gb2312"language="java"%>
<HTML><BODY>
兩種不同的文件包含方式執(zhí)行效果比較:<BR>
<%@includefile="login.html"%>
1.使用include指令靜態(tài)包含twoParam.jsp的執(zhí)行效果:
<%@includefile="twoParam.jsp"%>
<BR><BR>
2.使用include動(dòng)作動(dòng)態(tài)包含twoParam.jsp的執(zhí)行效果:
<jsp:includepage="twoParam.jsp"flush="true">
<jsp:paramname="yourname"value="<%=request.getParameter("user")%>"/>
<jsp:paramname="yourpass"value="<%=request.getParameter("passw")%>"/>
</jsp:include>
</BODY></HTML>
(2)程序twoParam.jsp的源代碼如下。
<%@pagecontentType="text/html;charset=gb2312"language="java"%>
<BR>twoParam.jsp文件的執(zhí)行效果:
<BR>你的名字是:<%=request.getParameter("yourname")%>
<BR>你的口令是:<%=request.getParameter("yourpass")%>
<BR>
<%out.println("你好?來自twoParam.jsp文件");%>
(3)文件login.html的源代碼如下。
<HTML><BODY>
<FORMMETHOD=postACTION="jsp_include.jsp">
<TABLE>
<TR><TD>Pleaseinputyourname:</TD>
<TD><INPUTTYPE=textNAME=user></TD>
</TR>
<TR><TD>Inputyourpassword:</TD>
<TD><INPUTTYPE=textNAME=passw></TD>
</TR>
<TR><TD><INPUTTYPE=submitVALUE=login></TD>
</TR>
</TABLE>
</FORM>
</BODY></HTML>
圖6.2是上述文件在兩種情況下的執(zhí)行效果。從圖中可以看出,不論在哪種情況下,使用<%@include%>指令靜態(tài)包含文件的執(zhí)行結(jié)果都是相同的;而使用<jsp:include>動(dòng)作動(dòng)態(tài)包含文件時(shí),執(zhí)行結(jié)果可根據(jù)參數(shù)的變化而變化。
(a)執(zhí)行jsp_include.jsp的初始效果圖6.2使用include動(dòng)作與include指令的效果對(duì)比
(b)輸入數(shù)據(jù)后點(diǎn)擊login按鈕的效果圖6.2使用include動(dòng)作與include指令的效果對(duì)比6.2.3forward動(dòng)作
forward動(dòng)作的作用是將請(qǐng)求轉(zhuǎn)向另一個(gè)頁面,并停止執(zhí)行當(dāng)前頁面中該動(dòng)作后的內(nèi)容。在控制型的JSP頁面中經(jīng)常使用這個(gè)動(dòng)作。該動(dòng)作只有一個(gè)page屬性,其使用格式如下:
<jsp:forwardpage="要轉(zhuǎn)向頁面的相對(duì)URL"或"<%=表達(dá)式%>"/>
或者
<jsp:forwardpage="要轉(zhuǎn)向頁面的相對(duì)URL"或"<%=表達(dá)式%>">
<jsp:paramname="名字"value="指定給param的值"/>
……
</jsp:forword>
【示例程序checklogin.jsp、success.jsp和login1.html】
forward動(dòng)作應(yīng)用。下面以登錄驗(yàn)證頁面checklogin.jsp為例來說明forward動(dòng)作的使用。幾乎所有的登錄驗(yàn)證頁面的機(jī)制都是:首先提供登錄界面(本例為login1.html)讓用戶輸入登錄信息,然后在登錄驗(yàn)證頁面(本例為checklogin.jsp)中獲取用戶輸入的信息并進(jìn)行驗(yàn)證,如果驗(yàn)證通過則把頁面轉(zhuǎn)向到登錄成功后的頁面(本例為success.jsp),否則,把頁面重新定位到登錄頁面。圖6.3是本例的運(yùn)行效果。
(a)在login1.html表單輸入數(shù)據(jù)圖6.3使用forward動(dòng)作的checklogin.jsp程序的執(zhí)行效果
(b)驗(yàn)證成功后顯示success.jsp頁面的內(nèi)容圖6.3使用forward動(dòng)作的checklogin.jsp程序的執(zhí)行效果
(1)登錄驗(yàn)證頁面checklogin.jsp程序的源代碼如下。
<%@pagecontentType="text/html;charset=gb2312"%>
<%
Stringname=request.getParameter("user");
Stringpassword=request.getParameter("passw");
if(name.equals("Seamens")&&password.equals("123456"))
{
%>
<jsp:forwardpage="sucess.jsp">
<jsp:paramname="userXy"value="<%=name%>"/>
</jsp:forward>
<%
}
else
{
%>
<jsp:forwardpage="login1.html">
<jsp:paramname="userXy"value="<%=name%>"/>
</jsp:forward>
<%}%>
(2)下面的代碼是登錄成功success.jsp頁面的源代碼。登錄界面login1.html的源代碼只是將6.2.2節(jié)login.html中的<FORM>標(biāo)記的ACTION屬性值改為ACTION=checklogin.jsp,再把第二個(gè)輸入框的TYPE屬性改為TYPE=password,故此處從略。
<%@pagecontentType="text/html;charset=gb2312"%>
<%=request.getParameter("user")%>
登錄成功,歡迎您進(jìn)入本系統(tǒng)!注意,在執(zhí)行結(jié)果圖6.3(b)的地址欄里顯示的是checklogin.jsp,而頁面實(shí)際顯示的內(nèi)容卻是success.jsp的。即使用forward動(dòng)作時(shí),客戶端看到的地址是A頁面的,而實(shí)際看到的內(nèi)容卻是B頁面的。
另外需指出的是,實(shí)際網(wǎng)站中的這些頁面的代碼都比本例中的代碼要復(fù)雜得多。首先,實(shí)際網(wǎng)站的登錄驗(yàn)證往往通過連接數(shù)據(jù)庫來進(jìn)行。其次,驗(yàn)證通過后將引導(dǎo)用戶至他所感興趣的頁面。作為一個(gè)例子,這里只寫了一段最為簡(jiǎn)單的代碼,用戶名和密碼都直接以字符串常量的形式給出。6.2.4useBean動(dòng)作
useBean動(dòng)作用來在JSP頁面中創(chuàng)建和使用一個(gè)JavaBean組件,并指定它的名字以及作用范圍。它保證對(duì)象在動(dòng)作指定的范圍內(nèi)可以使用。useBean動(dòng)作的使用格式如下:
<jsp:useBeanid="名字id"scope="作用范圍"typeSpec/>
其中:“作用范圍”可以是page、request、session、application四者之一;“typeSpec”可以是下面四個(gè)中的一個(gè):
●
class="類名"
●
class="類名"type="類型名"
●
beanName="bean的名字id"
●
type="類型名"
表6.2列出了useBean動(dòng)作的屬性及其含義和使用方法。
表6.2useBean動(dòng)作的屬性及含義和使用方法注意,<jsp:useBean>動(dòng)作所引用的類必須存放在服務(wù)器的class路徑中,否則,JSP將無法通過編譯。如果編寫的Bean需要存放在特定的目錄下,則應(yīng)將其所在的目錄加到系統(tǒng)的classpath變量中。關(guān)于useBean更詳細(xì)的使用技術(shù)將在第8章講述。6.2.5setProperty動(dòng)作
setProperty動(dòng)作用來設(shè)置Bean的屬性值。在使用這個(gè)動(dòng)作標(biāo)簽之前,必須使用<jsp:useBean>動(dòng)作聲明此Bean。實(shí)際上,<jsp:setProperty>動(dòng)作使用Bean給定的setXxx()方法來設(shè)置Bean的屬性值。其語法如下:
<jsp:useBeanid="名字id"……/>
……
<jsp:setPropertyname="Bean的名字id"propertyDetails/>
或
<jsp:useBeanid="Bean的名字id"……/>
……
<jsp:setPropertyname="名字id"propertyDetails/>
</jsp:useBean>其中,“Bean的名字id”是此前在<jsp:useBean>中用id屬性引入的名字;“propertyDetails”可以是下面四個(gè)中的一個(gè):
●
Property="*"
●
Property="Bean的屬性名"
●
Property="Bean的屬性名"param="request中的參數(shù)名"
●
Property="Bean的屬性名"value="字符串"或"<%=表達(dá)式%>"
例如:
<jsp:useBeanid="cart"scope="session"class="session.Carts">
<jsp:setPropertyname="cart"property="name"value="Peter"/>
</jsp:useBean>6.2.6getProperty動(dòng)作
getProperty動(dòng)作是對(duì)setProperty動(dòng)作的補(bǔ)充,用來訪問一個(gè)Bean的屬性,并將獲得的屬性值轉(zhuǎn)化成一個(gè)字符串后發(fā)送到輸出流中。同理,在使用這個(gè)動(dòng)作標(biāo)簽之前,必須使用useBean動(dòng)作聲明此Bean。該動(dòng)作的使用格式如下:
<jsp:getPropertyname="Bean的名字id"property="屬性名"/>
例如:
<jsp:useBeanid="usersession"scope="session"class="user.UserSession">
<jsp:getPropertyname="usersession"property="name"/>
<jsp:getPropertyname="usersession"property="password"/>
useBean、getProperty和setProperty動(dòng)作的使用。
【示例程序ProductWeight.jsp和ProductWeight.java】
這個(gè)例子中包括兩個(gè)程序:ProductWeight.jsp和ProductWeight.java。其中,ProductWeight.java就是我們開發(fā)的一個(gè)JavaBean,它實(shí)際上是一個(gè)包(packagepWeight),在這個(gè)包中我們只定義了一個(gè)ProductWeight類,并為這個(gè)類定義了兩個(gè)屬性和五個(gè)方法。為此,我們?cè)趗seBean動(dòng)作中用class="pWeight.ProductWeight"指出類的全名,用id="pw"指出它在Bean中的名字。此外,在執(zhí)行ProductWeight.jsp前需要將ProductWeight.java文件編譯成ProductWeight.class文件(在Eclipse環(huán)境下只需創(chuàng)建相應(yīng)的包,系統(tǒng)會(huì)自動(dòng)編譯)。
(1)
ProductWeight.jsp文件的源代碼如下。
<%@pagecontentType="text/html;charset=GBK"%>
<HTML>
<HEAD><TITLE>使用Javabeans</TITLE></HEAD>
<BODY>
<jsp:useBeanid="pw"scope="application"class="pWeight.ProductWeight"/>
修改前
<BR>使用getProperty取得Bean的屬性值
<BR>產(chǎn)品型號(hào):<jsp:getPropertyname="pw"property="product"/>
<BR>產(chǎn)品重量:<jsp:getPropertyname="pw"property="weight"/>
<BR><BR>使用類中定義的方法獲取產(chǎn)品的屬性值
<BR>產(chǎn)品型號(hào):<%=pw.getProduct()%>
<BR>產(chǎn)品重量:<%=pw.getWeight()%>
<jsp:setPropertyname="pw"property="product"value="k1568"/>
<jsp:setPropertyname="pw"property="weight"value="35"/>
<HR><BR>修改后
<BR>使用getProperty取得Bean的屬性值
<BR>產(chǎn)品型號(hào):<jsp:getPropertyname="pw"property="product"/>
<BR>產(chǎn)品重量:<jsp:getPropertyname="pw"property="weight"/>
<BR><BR>使用類中定義的方法獲取產(chǎn)品的屬性值
<BR>產(chǎn)品型號(hào):<%=pw.getProduct()%>
<BR>產(chǎn)品重量:<%=pw.getWeight()%>
</BODY></HTML>
(2)
ProductWeight.java文件的源代碼如下。
packagepWeight;
publicclassProductWeight
{Stringproduct;
doubleweight;
publicProductWeight()
{//構(gòu)造方法進(jìn)行初始化
duct="Y8015";
this.weight=32;
}
publicvoidsetProduct(StringProductName)
{//用于設(shè)置屬性值的方法
duct=ProductName;
}
publicStringgetProduct()
{//用于得到屬性值的方法
return(duct);
}
publicvoidsetWeight(doubleWeightValue)
{
this.weight=WeightValue;
}
publicdoublegetWeight()
{return(this.weight
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年個(gè)人車位出租合同樣本(2篇)
- 服裝公司辦公室裝修合同
- 商業(yè)地產(chǎn)租賃居間協(xié)議樣本
- 保健食品配送合同范本
- 2025年度信息安全保密技術(shù)合作開發(fā)合同
- 人工智能監(jiān)理居間合同
- 服裝批發(fā)市場(chǎng)物流合同
- 橡膠行業(yè)融資居間合同范例
- 2025年度安防產(chǎn)品區(qū)域代理及市場(chǎng)推廣合同
- 2025年度信息安全保密合作協(xié)議
- 《媒介社會(huì)學(xué)》課件
- 項(xiàng)目設(shè)計(jì)報(bào)告范文高中
- 成人手術(shù)后疼痛評(píng)估與護(hù)理團(tuán)體標(biāo)準(zhǔn)
- zemax-優(yōu)化函數(shù)說明書
- 2021年《民法典擔(dān)保制度司法解釋》適用解讀之擔(dān)保解釋的歷程
- 第02講 導(dǎo)數(shù)與函數(shù)的單調(diào)性(學(xué)生版)-2025版高中數(shù)學(xué)一輪復(fù)習(xí)考點(diǎn)幫
- 《醫(yī)療機(jī)構(gòu)工作人員廉潔從業(yè)九項(xiàng)準(zhǔn)則》專題解讀
- 成立商會(huì)的可行性報(bào)告5則范文
- 湖南財(cái)政經(jīng)濟(jì)學(xué)院《常微分方程》2023-2024學(xué)年第一學(xué)期期末試卷
- 游戲賬號(hào)借用合同模板
- 2022年中考英語語法-專題練習(xí)-名詞(含答案)
評(píng)論
0/150
提交評(píng)論