这个类的功能是把request里面的数据,封装到指定的javabean,需要导入BeanUtils工具包
下面的是html里面的属性
- <form action="/day8/servlet/Request2Bean" method="post">
- <table>
- <tr><td>用户名</td><td><input type="text" name="name"></td></tr>
- <tr><td>年龄</td><td><input type="text" name="password"></td></tr>
- <tr><td>生日</td><td><input type="text" name="date"></td></tr>
- </table>
- <input type="submit" value="提交">
- </form>
封装数据的javabean,User类
- package com.itcast.javabean;
- import java.util.Date;
- public class User {
- private String name;
- private int age;
- private Date date;
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public int getAge() {
- return age;
- }
- public void setAge(int age) {
- this.age = age;
- }
- public Date getDate() {
- return date;
- }
- public void setDate(Date date) {
- this.date = date;
- }
- @Override
- public String toString() {
- return "User [age=" + age + ", date=" + date + ", name=" + name + "]";
- }
- }
把request数据装到javabean中的工具类
- package com.itcast.utils;
- import java.util.Date;
- import java.util.Enumeration;
- import javax.servlet.http.HttpServletRequest;
- import org.apache.commons.beanutils.BeanUtils;
- import org.apache.commons.beanutils.ConvertUtils;
- import org.apache.commons.beanutils.converters.DateConverter;
- public class WebUtils {
- public static <T> T Requst2Bean(HttpServletRequest request, Class<T> bean) {
- T t = null;
- try {
- t = bean.newInstance();
- Enumeration parameterNames = request.getParameterNames();
- DateConverter convert = new DateConverter();//写一个日期转换器
- String[] patterns = { "yyyyMMdd", "yyyy-MM-dd" };//限定日期的格式字符串数组
- convert.setPatterns(patterns);
- ConvertUtils.register(convert, Date.class);
- while (parameterNames.hasMoreElements()) {
- String name = (String) parameterNames.nextElement();
- String value = request.getParameter(name);
- BeanUtils.setProperty(t, name, value);//使用BeanUtils来设置对象属性的值
- }
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return t;
- }
- }