黑马程序员---PropertyDescriptor和BeansUtil
来源:互联网 发布:python可以做什么 编辑:程序博客网 时间:2024/05/17 21:44
---------------------- android培训、java培训、期待与您交流! ----------------------
我们有一个注册页面,主题部分如下:
<body>
<form action="servlet/MyServlet" method="post">
用户名:<input type="text" name="username"/><br/>
密码:<input type="password" name="password"/><br/>
年龄:<input type="text" name="age"/><br/>
出生日期:<input type="text" name="birthday"/><br/>
<input type="submit" value="登陆"/>
</form>
</body>
针对此注册页面,我们见一个javaBean
public class Student {
private String username;
private String password;
private String age;
private String birthday;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
@Override
public String toString() {
return "Student [age=" + age + ", birthday=" + birthday + ", password="
+ password + ", username=" + username + "]";
}
}
用PropertyDescriptor完成填充javaBean
Student student = new Student();
Map<String,String[]> map = request.getParameterMap();//得到页面参数组成的的map
for(Map.Entry<String, String[]> o: map.entrySet())
{
String key = o.getKey();
try {
PropertyDescriptor pd = new PropertyDescriptor(key, Student.class);//用参数名和javaBean实例化PropertyDescriptor
Method m = pd.getWriteMethod();//通过对参数名的反射得到setter方法
m.invoke(student, o.getValue());
} catch (Exception e) {
throw new RuntimeException(e);
}
}
System.out.println(student);
这样就把页面的数据存入了javaBean中,不过页面参数名一定要和javaBean中的一致。
BeanUtils把这些封装到了populate(...)中。
Student student = new Student();
Map<String,String[]> map = request.getParameterMap();
try {
BeanUtils.populate(student, map);
} catch (Exception e) {
throw new RuntimeException(e);
}
System.out.println(student);
---------------------- android培训、java培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net/heima
- 黑马程序员---PropertyDescriptor和BeansUtil
- 黑马程序员--Java基础加强--10.【PropertyDescriptor操作JavaBean VS 反射操作Java类】【个人总结】
- PropertyDescriptor
- JAVA内省JavaBean(Introspector、BeanInfo和PropertyDescriptor)
- 黑马程序员-内省和JavaBean
- 黑马程序员--结构和数组
- 【黑马程序员】DataSet和SqlDataReader
- 黑马程序员---委托和事件
- 黑马程序员------this和super
- 黑马程序员-------String 和StringBuffer
- 黑马程序员-线程和socket
- 黑马程序员-栈和堆
- 黑马程序员-枚举和注解
- 黑马程序员--JavaBean和注解
- 黑马程序员---Lock和Condition
- 黑马程序员-注解和反射
- 黑马程序员--数组和集合
- 黑马程序员 UDP和TCP
- 选择Go语言
- 黑马程序员-主函数中调用内部类方法的问题
- 黑马程序员---集合类1
- 黑马程序员---集合类2
- java的PipedInputStream和PipedOutputStream的讲解
- 黑马程序员---PropertyDescriptor和BeansUtil
- java 入门 第二堂课
- C# windows mobile输入法窗口不挡住文本框? .
- java的编码问题
- POJ 1434 Fill the Cisterns
- 你,真的可以成为一名优秀的项目组长!
- 闲来无事Android游戏开发(1)
- 病同人异论
- 骄兵必败