struts1 处理日期类型转换

从在页面传过来的日期类型为String类型(用struts1 form封装),需要在action中转换为java.util.Date类型。

// Copy to business object from ActionForm,将actionForm中的属性赋值到实体类中; BeanUtils.copyProperties( dest, orig);

页面的日期是String型,ActionForm 用Date型,此时转换就会出问题。可参照以下方法处理:

UserForm的设计:

public class UserForm extends ActionForm { private String dateStr; public String getDateStr( ) { return dateStr; } public void setDateStr(String dateStr) { this.dateStr = dateStr; } }

User类:

import java.util.Date; import java.text.SimpleDateFormat; public class User { private Date date; public void setDateStr(String dateStr) {//在此处转换日期 this.date = new SimpleDateFormat("yyyy-MM-dd").parse(dateStr); } public Date getDate( ) { return date; } public void setDate(Date date) { this.date = date; } }

在日期转换时,BeanUtils.copyProperties ( dest, orig);方法会调用public void setDateStr(String dateStr)方法,从而实现了日期转换。

第二种方法:在actionForm中声明日期类型为java.sql.Date;即可解决所有问题,其他都不用改动;
(因为BeanUtil中没有设置对java.util.Date的转换,但对java.sql.Date进行了由字符串到Date的转换)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值