這個類的功能是把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;
- }
- }