<%
// 接收数据:
/* String username = request.getParameter("username");
String password = request.getParameter("password");
// 封装数据:
User user = new User();
user.setUsername(username);
user.setPassword(password); */
%>
<jsp:useBean id="user" class="com.itheima.demo1.domain.User"
scope="page"></jsp:useBean>
<%-- <jsp:setProperty property="username" name="user"/>
<jsp:setProperty property="password" name="user"/> --%>
<jsp:setProperty property="*" name="user"/>
<!-- 表单的元素的name属性的值与User中的属性名称一致 就可以自动封装 -->
<jsp:getProperty property="username" name="user"/>
public void demo1() throws Exception{
// 获得了Bean的信息
BeanInfo beanInfo = Introspector.getBeanInfo
(User.class);
// 获得Bean的属性描述了
PropertyDescriptor[] pds =
beanInfo.getPropertyDescriptors();
for(PropertyDescriptor pd:pds){
System.out.println(pd.getName());
/*pd.getReadMethod(); // 获得get方法
pd.getWriteMethod();// 获得set方法.
*/ }
}
public class MyBeanUtils {
public static void populate(Object obj,Map<String,String[]>
map) throws Exception{
// 获得类的所有的属性的名称:
BeanInfo beanInfo = Introspector.getBeanInfo
(obj.getClass());
// 获得类中所有的属性:
PropertyDescriptor[] pds =
beanInfo.getPropertyDescriptors();
for (PropertyDescriptor pd : pds) {
if(map.containsKey(pd.getName())){
Method method = pd.getWriteMethod();
// 执行set方法:
method.invoke(obj, map.get(pd.getName
())[0]);
}
}
}
}
create database web_13;
use web_13;
create table account(
id int primary key auto_increment,
name varchar(20),
money double
);
insert into account values (null,'张森',10000);
insert into account values (null,'凤姐',10000);
insert into account values (null,'如花',10000);
setAutoCommit(Boolean autoCommit)
commit()
rollback()
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |