JSP由淺入深(10-2)
發(fā)表時(shí)間:2024-06-05 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]一旦你定義了這個(gè)類,再編譯它,并且將它放置于網(wǎng)絡(luò)服務(wù)器的類路徑中。這個(gè)服務(wù)器同樣要定義一個(gè)特殊的目錄來放置bean類。如果你是使用Blazix你可以將它們放置到“classes”目錄中。如果你必須改變類路徑并且服務(wù)器正在運(yùn)行,那么網(wǎng)絡(luò)服務(wù)器就必須停止并重新啟動(dòng)。下面我們來修改一下“SaveName...
一旦你定義了這個(gè)類,再編譯它,并且將它放置于網(wǎng)絡(luò)服務(wù)器的類路徑中。這個(gè)服務(wù)器同樣要定義一個(gè)特殊的目錄來放置bean類。如果你是使用Blazix你可以將它們放置到“classes”目錄中。如果你必須改變類路徑并且服務(wù)器正在運(yùn)行,那么網(wǎng)絡(luò)服務(wù)器就必須停止并重新啟動(dòng)。
下面我們來修改一下“SaveName.jsp”以使用bean來收集數(shù)據(jù):
<jsp:useBean id="user" class="UserData" scope="session"/>
<jsp:setProperty name="user" property="*"/>
<HTML>
<BODY>
<A HREF="NextPage.jsp">Continue</A>
</BODY>
</HTML>
這里所有我們需要作的事情是增加一個(gè)jsp:useBean標(biāo)志以及jsp:setProperty標(biāo)志。這個(gè)useBean標(biāo)志是在session中查找“UserData”的實(shí)例。如果實(shí)例被找到了,它就將更新舊的實(shí)例;如果實(shí)例沒有被找到,它就將創(chuàng)建一個(gè)UserData新的實(shí)例(UserData的實(shí)例被稱為bean),然后將它放置于session中。而setProperty標(biāo)志會(huì)自動(dòng)收集輸入的數(shù)據(jù),并匹配bean方法的名字,在將數(shù)據(jù)放置于bean中。
下面修改NextPage.jsp以從bean取出數(shù)據(jù):
<jsp:useBean id="user" class="UserData" scope="session"/>
<HTML>
<BODY>
You entered<BR>
Name: <%= user.getUsername() %><BR>
Email: <%= user.getEmail() %><BR>
Age: <%= user.getAge() %><BR>
</BODY>
</HTML>
這里要注意useBean標(biāo)簽被重復(fù)使用了。這個(gè)bean是作為類“UserData”的變量的。由用戶鍵入的數(shù)據(jù)都被收集在bean中。我們可以不需要“SaveName.jsp”,“GetName.html”的目標(biāo)就是“NextPage.jsp”,并且只要我們?cè)黾右粋(gè)jsp:setProperty 標(biāo)志數(shù)據(jù)同樣有效。在下一個(gè)教程中,我們要使用SaveName.jsp作為一個(gè)錯(cuò)誤處理并自動(dòng)連接到NextPage.jsp上,換句話說,它叫用戶校正錯(cuò)誤的數(shù)據(jù)。
本節(jié)教程的輔助練習(xí)為:A)編寫一個(gè)JSP/HTML使得用戶可以鍵入系統(tǒng)屬性的名字并將顯示有System.getProperty返回?cái)?shù)值。B)回到我們剛才手動(dòng)修改的boolean變量,這時(shí)我們不用boolean變量,而是將來自HIDDEN表單區(qū)域的變量設(shè)置為true或者false。