我用这个包的拷贝,但是我的vo中的birthday是java.util.Date包中的,form中的birthday是String类型的,我看的资料说的是commons-beanutils的版本是1.6.1就可以支持java.util.Date类型的属性,我用的是1.7的包甚至是1.8的都不行。是不是我的form中的birthday也必须是String类型呀!

解决方案 »

  1.   

    那你就把vo中的属性类型改一下,或者在form中的类型改一下,在set方法中转换一下就可以了。
      

  2.   

    但是我的vo中一定要是Date类型,form中一定要是String类型怎么办呢?现在就是这个问题!!!!!不知道怎么来实现!!!求救
      

  3.   

    定义一个公用的ActionForm 在form中自动转换public class BaseActionForm extends ActionForm {

    /** 开始和结束时间字符串类型*/
    private String startTime,endTime;

    /** 开始和结束时间日期类型*/
    private Date startDate,endDate;        public String getStartTime() {
    return startTime;
    } public void setStartTime(String startTime) {
    this.startTime = startTime;
    } public String getEndTime() {
    return endTime;
    } public void setEndTime(String endTime) {
    this.endTime = endTime;
    } @SuppressWarnings("deprecation")
    public Date getStartDate() {
    //如果这里的startTime不为空,那么就进行日期转换
    if(StringUtils.hasText(this.startTime)){
    DataUtil data = new DataUtil("yyyy-MM-dd HH:mm:ss");
    Date start = data.getDate(this.startTime);
    start.setDate(0);
    start.setMinutes(0);
    start.setSeconds(0);
    return start;
    }else{
    return null;
    }
    } public void setStartDate(Date startDate) {
    this.startDate = startDate;
    } @SuppressWarnings("deprecation")
    public Date getEndDate() {
    //如果这里的endTime不为空,那么就进行日期转换
    if(StringUtils.hasText(this.endTime)){
    DataUtil data = new DataUtil("yyyy-MM-dd HH:mm:ss");
    Date start = data.getDate(this.startTime);
    start.setDate(23);
    start.setMinutes(59);
    start.setSeconds(59);
    return start;
    }else{
    return null;
    }
    } public void setEndDate(Date endDate) {
    this.endDate = endDate;
    }}