Struts FormBean 里 Long型属性取不到null吗?

macula
03-10-06 4 279

FormBean里定义的Long型,就为了不填可以得到null,以做判断

可是发现,只要是通过form提交的,Long型不输入的话,struts就自做主张的变成0
Integer也是如此

这个是我设置的问题,还是struts就这样?
或者又什么方法避免?

不想弄成String自己转,因为的照顾Hibernate……

banq
2003-10-06 21:46

是这样,以0作为判断是否可以?

jakarta99
2003-10-06 22:42

你是 DynaFormBean 的r
自己的 ActionFormBean ]有@r

此外
假如你真的要用 NULL 值 且不排斥修改 struts sourcecode
那N你找 org.apache.struts.config.FormPropertyConfig 的地方
initial() method 中, 有一行
initialValue = clazz.newInstance();
修改成
initialValue = null;

foxprince
2003-10-08 23:50

还有一种解决方法,你可以设置属性的缺省值,作为判断是否有值被传递过来的依据,例如这样:

<form-property name="para" type="Long" initial="-1"/>

foxprince
2003-10-08 23:51

还有一种解决方法,你可以设置属性的缺省值,作为判断是否有值被传递过来的依据,例如这样:


<form-property name="para" type="Long" initial="-1"/>