下面这段代码中直接用 * 赋值,以前看过一本书介绍这种是错误的。
如果用户第一次:第一个值代表拥护输入文本矿中的直。第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(), 就可以将表单中的数据直接存入数据库了.
是不是很简单?