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

来源:互联网 发布:四糸乃cos装淘宝 编辑:程序博客网 时间:2024/06/09 22:23

导入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);    }}
0 0
原创粉丝点击