javaweb 一键封装(BeanUtils)
来源:互联网 发布:成都淘宝运营招聘 编辑:程序博客网 时间:2024/06/09 20:43
需求:在提交注册页面的表单数据时,需要把数据提交到服务器,封装bean对象
在服务器端:
获取用户提交的数据
String id = --- String name =--- String password=--- String email=--- String phone=--- -----
把数据手动封装到User对象
User user = new User();
user.setXXX(XXXX);- 完成注册,调用service
UserService service = new UserService(); - 去执行UserService
- 去执行UserDao
封装一个工具类:完成表单数据自动封装到对象里面
* Introspector: javaBean的描述类
* BeanInfo: 通过上面的类,得到javaBean里面的属性,方法等
* PropertyDescriptor: 里面才是真正有属性和 方法
User类
package com.monster.beanUtils;public class User { private Integer id; private String name; private String password; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public String toString() { return "User [id=" + id + ", name=" + name + ", password=" + password + "]"; }}
BeanPushUtlis类
package com.monster.beanUtils;import java.beans.BeanInfo;import java.beans.Introspector;import java.beans.PropertyDescriptor;import java.lang.reflect.Method;import java.util.LinkedHashMap;import java.util.Map;import java.util.Set;public class BeanPushUtlis { //把数据自动封装到bean对象,user public static void push(Object obj) throws Exception{ //1.获取user的描述类 BeanInfo info = Introspector.getBeanInfo(obj.getClass()); //2.获取user里面的属性和方法: setXXX PropertyDescriptor[] ps = info.getPropertyDescriptors(); //3.遍历数组 for (PropertyDescriptor por : ps) { //4.获取user里面的属性名称 String attrName = por.getName(); //5.获取属性里面的读方法,写方法 Method readMethod = por.getReadMethod(); Method writeMethod = por.getWriteMethod(); System.out.println(attrName+" "+ readMethod+" "+ writeMethod); } } //把数据自动封装到bean对象, Map<String,Object> map = request.getParameterMap(); // map的key: name属性的值,和 javaBean的属性名称一致 //map的value: 用户输入的值 public static void pop(Object obj,Map<String,Object> map ) throws Exception{ //1.获取user的描述类 BeanInfo info = Introspector.getBeanInfo(obj.getClass()); //2.获取user里面的属性和方法: setXXX PropertyDescriptor[] ps = info.getPropertyDescriptors(); //3.遍历map,获取map的key ,和 属性描述器的属性名称进行匹配 Set<String> keys = map.keySet(); for (String key : keys) {//key就是name属性的值 , 和PropertyDescriptor的属性匹配 for (PropertyDescriptor por: ps) {//里面的属性 其实就是javaBean的属性名称 String userAttr = por.getName(); if(key.equals(userAttr)){//表单提交的name属性值 和 javaBean的属性名称一致 //获取写方法 Method setMethod = por.getWriteMethod(); setMethod.invoke(obj,map.get(key));// new User().setId("001"); } } } } public static void main(String[] args) throws Exception { User user = new User(); //Map map = request.getParameterMap(); Map<String,Object> map = new LinkedHashMap<String,Object>(); map.put("id", 100); map.put("name", "张三"); map.put("passwordss", "123456"); BeanPushUtlis.pop(user,map); System.out.println(user); }}
阅读全文
0 0
- javaweb 一键封装(BeanUtils)
- javaweb 借助BeanUtils的populate方法,封装javavean
- 使用BeanUtils工具封装javaBean
- BeanUtils对数据的封装
- BeanUtils.copyProperties无法成功封装
- BeanUtils自定义转换器 (一)
- JavaWeb -- 内省—beanutils工具包 的使用
- javaweb——BeanUtils工具的使用
- JavaWeb CURD 一键生成
- javaweb用户密码的封装
- 用BeanUtils类自动封装表单数据
- BeanUtils数据封装与表单JavaBean
- 使用BeanUtils工具类封装请求参数
- 使用apache的BeanUtils封装数据
- BeanUtils封装日期类空指针错误
- JavaWeb(一)
- JavaWEB--POI之EXCEL操作、优化、封装详解系列(一)--概述与原理
- advinst实现Javaweb一键安装部署
- [HDU] 6015
- 理解hibernate hibernate工作原理
- 智能密码~~附上链接
- Javascript 模块化编程(对象写法)
- C#学习之旅(2)--变量与常量
- javaweb 一键封装(BeanUtils)
- 一张图掌握移动Web前端所有技术(大前端、工程化、预编译、自动化)
- destoon 调用汇总
- vue 使用全局变量
- 代码质量及其优化(学习笔记)
- vue父子组件&继承组件的生命周期以及应用
- 【软件工程导论】软件工程导论第二章小结。
- 三角形的四心
- 关于双系统linux和windows删除linux系统丢失系统引导的问题