斑竹的:Jsp中数据bean的直接赋值 ? 的一点疑问?

03-04-03 cute

下面这段代码中直接用 * 赋值,以前看过一本书介绍这种是错误的。

如果用户第一次:第一个值代表拥护输入文本矿中的直。第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(), 就可以将表单中的数据直接存入数据库了.

是不是很简单?