BeanUtils工具对注册表单提交的信息封装成Bean类

导入BeanUtils.jar和logging.jar
封装:BeanUtils.populate( Object bean , Map properties )
注意:当对日期进行转换时,
1、需要自己创建一个日期转换器:DateConverter对象,
2、设置格式:dateConverter.setPattern(“yyyy-MM-dd”),
3、进行注册:ConvertUtils.register( dateConverter , Date.class );

代码实现:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="${pageContext.request.contextPath}/registerServlet" method="post">
    <table align="center">
        <tr>
            <td>用户名:</td>
            <td><input type="text" name="username"/></td>
        </tr>
        <tr>
            <td>密码:</td>
            <td><input type="password" name="password"/></td>
        </tr>
        <tr>
            <td>确认密码:</td>
            <td><input type="password" /></td>
        </tr>
        <tr>
            <td>姓名:</td>
            <td><input type="text" name="name" /></td>
        </tr>
        <tr>
            <td>性别:</td>
            <td>
                <input type="radio" name="gender" value="m" id="m" checked/><label for="m">男</label>
                <input type="radio" name="gender" value="f" id="f"/><label for="f">女</label>
            </td>
        </tr>
        <tr>
            <td>生日:</td>
            <td><input type="date" name="birthday"/></td>
        </tr>
        <tr>
            <td>电话:</td>
            <td><input type="text" name="telephone"/></td>
        </tr>
        <tr>
            <td>邮箱:</td>
            <td><input type="text" name="email"/></td>
        </tr>
        <tr>
            <td>月薪:</td>
            <td><input type="text" name="salary"/></td>
        </tr>
        <tr>
            <td>自我介绍:</td>
            <td>
                <textarea rows="5" cols="20" name="description"></textarea>
            </td>
        </tr>
        <tr>
            <td colspan="2" align="center">
                <input type="submit" value="注册"/>
                <input type="reset" value="重置"/>
            </td>
        </tr>
    </table>
</form>
</body>
</html>


import java.util.Date;

public class User {
    private String username;
    private String password;
    private String name;
    private String gender;
    private String telephone;
    private double salary;
    private String email;
    private String description;
    private Date birthday;

    public Date getBirthday() {
        return birthday;
    }
    public void setBirthday(Date birthday) {
        this.birthday = 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 getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getGender() {
        return gender;
    }
    public void setGender(String gender) {
        this.gender = gender;
    }
    public String getTelephone() {
        return telephone;
    }
    public void setTelephone(String telephone) {
        this.telephone = telephone;
    }
    public double getSalary() {
        return salary;
    }
    public void setSalary(double salary) {
        this.salary = salary;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public String getDescription() {
        return description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
    @Override
    public String toString() {
        return "User [username=" + username + ", password=" + password + ", name=" + name + ", gender=" + gender
                + ", telephone=" + telephone + ", salary=" + salary + ", email=" + email + ", description="
                + description + ", birthday=" + birthday + "]";
    }

}

import java.lang.reflect.InvocationTargetException;
import java.util.Date;
import java.util.Map;

import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.beanutils.ConvertUtils;
import org.apache.commons.beanutils.converters.DateConverter;

public class MyBeanUtils {

    static{
        DateConverter converter = new DateConverter();
        converter.setPattern("yyyy-MM-dd");
        ConvertUtils.register(converter, Date.class);
    }
    public static void populate(Object obj,Map<String,String[]> map) {
        try {
            BeanUtils.populate(obj, map);
        } catch (IllegalAccessException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.beanutils.BeanUtils;

@WebServlet(urlPatterns="/registerServlet")
public class RegisterServlet extends HttpServlet{

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doPost(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        req.setCharacterEncoding("UTF-8");
        User user = new User();
        MyBeanUtils.populate(user, req.getParameterMap());
        System.out.println(user);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值