论坛首页 Java企业应用论坛

formbean问题?

浏览 6972 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2004-07-05  
以前我一直认为formbean里属性的类型只能是String类型,昨天试了一个例子,可以是Float类型,可是我想试试日期类型,没有成功(说类型不匹配),我如何将页面中的日期用formbean接收成日期型,在线等待。有例子更好
   发表时间:2004-07-05  
其实我是愿意是想在将显示层的日期,通过formbean获取后,将formbean转化成一个vo(或po),然后通过hibernate写入oracle数据库,我的数据库中对应的字段是日期型的,所以我的vo(或po)对应的属性也是日期型(如果是String的话,相应的hbm.xml如何来写)。可否给个例子,对应于日期的输入,我怎么通过hibernate构造一个Dao写入数据库。
0 请登录后投票
   发表时间:2004-07-05  
formbean如果是你自己写的话,你可以定义成日期型,如果是动态了也可以指定为日期型,不过我不建议这么用,除非确保转化无问题。
只要你愿意你可以把formbean用作vo/po。在hibernate也可以把日期型当作字符串使用,同样注意有转化陷阱。
0 请登录后投票
   发表时间:2004-07-07  
我个人看法是:在formbean设置成String,然后在你的control那层进行日期转换,然后再传给应用层.
0 请登录后投票
   发表时间:2004-07-07  
是这样?我有点偷懒。我将formbean中数据在action中收到后,通过UtilProperties.copyProperties方法,将formbean的值付给vo(或po)
,可是我的po的值属性如果设置成Date型,我无法将formbean中的String类型的日期使用UtilProperties.copyProperties进行赋值,楼上的老兄倒是一种方法,可是我的表字段很多(formbean中的内容很多),我不能一个一个的赋值吧,但是我的po如果时String型的话,我的数据库又是Date型的,不知这里怎么控制。有类型转换的陷阱指什么?
0 请登录后投票
   发表时间:2004-07-07  
Struts的formbean的setter和getter是用BeanUtils来实现的,显示formbean的过程实际上是将formbean中的属性全部转换成String,反过来也是一样.这里面就会涉及到convert的问题,BeanUtils支持String,BigDecimal,Boolean,Byte,char,Float,Interger,Double,Short,Long这些类型的相互转换,而其他类型则throw IllegalAccessException.
0 请登录后投票
   发表时间:2004-07-07  
iceboy2189 写道
是这样?我有点偷懒。我将formbean中数据在action中收到后,通过UtilProperties.copyProperties方法,将formbean的值付给vo(或po)


能把UtilProperties.copyProperties方法贴出来吗?我想知道将vo->po有没有什么有效的方法.
0 请登录后投票
   发表时间:2004-07-08  
查看了struts的源码发现也只是支持beanutil中所支持的那几种类型。
String,BigDecimal,Boolean,Byte,char,Float,Interger,Double,Short,Long。

使用beanutil包中的copy属性。
org.apache.commons.beanutils.PropertyUtils.copyProperties(
            目标对象, 源对象);
属性必须一致。
0 请登录后投票
   发表时间:2004-07-08  
我觉得应该在vo里面加一层代理,比如
public String getDateDisplay(){return getDate().toString();}
public setDateDisplay(String date){setDate(Date.valueOf(date));}


formbena里只要对应
public String getDateDisplay()..
public setDateDisplay(String date)...

就可以通过beanutils来copy了
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics