日期:2014-05-20  浏览次数:20681 次

Struts ActionForm
最近在用 actionform 接收界面传的日期类型转换错误..
因为 actionform 里面存的又是实体 bean, 所以想问下.有没有什么好的办法。
最好可以不用改现有的实体 bean ,如改类型,将 java.util.Date 改成 java.sql.Date , 或改成 string.
也不想修改实体的 setDate() 方法。。
最好不要动实体 bean..

第一次提问,可能说的不是很清楚。忘大家见谅。!




------解决方案--------------------
楼主就是想问在页面传入的是日期,然后保存到实体类里面的Date里面是吧
我们在页面接收到的数据都是string类型的!~!
故,想将string装换成Date类型,但是又不想改实体类!~!
最好的方法之一是在ActionForm中就转换好!~!
可以添加一个String类型的时间字段,目的是获取页面传入的时间,
然后声明一个成员变量SimpleDateFormat的对象,用这个对象去转换接收到的String类型的时间
最后放入到实体bean中的时间类型!~!
假如有一个User的实体类,里面有一个注册时间regTime
private User user = new User();
private String temp;
private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

private void setUser(User user){
this.user = user;
}

public void setTemp( String time ){
this.user.regTime = sdf.parse(time);
this.temp = time;
}

这样就可以不改变
但是要是你要把User中的注册时间改成String类型的,那就更不用多此一举了~!呵呵!~!根本就不用转换
呵呵