0
点赞
收藏
分享

微信扫一扫

Day04JavaWeb【Request】 BeanUtils***


apache BeanUtils工具类

  • (1)BeanUtils是什么?
    BeanUtils 是 Apache commons组件的成员之一
  • (2)有什么用?
    主要用于简化JavaBean封装数据的操作
    使用第三方工具,需要导入jar包:
  • Day04JavaWeb【Request】 BeanUtils***_java

BeanUtils工具类-populate分析

使用步骤

  • 1 添加jar到web/WEB-INF/lib目录
  • Day04JavaWeb【Request】 BeanUtils***_赋值_02

  • 2 让idea识别
    选中所有jar 右键菜单 =》add As Lib…
  • 3 调用populate()方法

@WebServlet("/demo05")
public class Demo05GetServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);
}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//没有使用BeanUtils ,写得很麻烦 ,一个一个地获取,再一个一个的设置
User user = new User();
//1.获取所有的参数
Map<String, String[]> map = request.getParameterMap();
//2.赋值给一个User对象
/*
String[] usernames = map.get("username");
user.setUsername(usernames[0]);

String[] passwords = map.get("password");
user.setPassword(passwords[0]);

String[] hobbies = map.get("hobby");
user.setHobby(hobbies);

String[] sexes = map.get("sex");
user.setSex(sexes[0]);

System.out.println(user); */
try {
BeanUtils.populate(user,map);//参1,新建的javabean对象,没有值 参2 有key-value的map
} catch (Exception e) {
e.printStackTrace();
}
System.out.println(user);
}
}

src\com\wzx\beans\User.java

//必须做到让参数的参数名与类的成员变量名一致
public class User {
private String username;
private String password;
private String[] hobby;
private String sex;

Day04JavaWeb【Request】 BeanUtils***_赋值_03

  • (3)底层原理
    (1) 获取key生成set方法
    ​​​username -->setUsername​​​ (2) 调用同名set方法给成员变量赋值(反射)
    ​obj.setUsername(map.get(key))​


举报

相关推荐

0 条评论