斑竹的:Jsp中資料bean的直接賦值 ? 的一點疑問?

cute發表於2003-04-03
下面這段程式碼中直接用 * 賦值,以前看過一本書介紹這種是錯誤的。

如果使用者第一次:第一個值代表擁護輸入文字礦中的直。第2個代表Bean所獲得的直。

1==1
2==2
3==3

如果使用者第二次:中的第2個直不輸入。bean中的直就仍然是2。著就造成了錯誤。

1==1
==2
3==3
輸入空直如何判斷。不用JAVASCRIPT

斑竹講到:
----------------------------------
實際上Jsp中的useBean提供一個方法property="*" 讓系統自動完成轉換:

首先 必須在ProfileDB中有針對每個變數方法儲存的方法:setXXXX, 如setProductname setQty
這裡的XXXX(也就是productname qty price) 應該和上面表單程式中input的name是一致的,

save.jsp程式新程式碼:

<jsp:useBean id="profile" scope="page" class="ProfileDB" />
<jsp:setProperty name="profile" property="*" />


profile.insert();

.....


在save.jsp的新程式碼中我們注意到語句:<jsp:setProperty name="profile" property="*" />與之前的不同

使用 setProperty property="*"是將表單裡提交的資料全部交給bean去處理,因為在bean裡面能夠方便的進
行各種複雜的邏輯處理, 這樣, 直接執行profile.insert(), 就可以將表單中的資料直接存入資料庫了.
是不是很簡單?

相關文章