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

03-10-06 macula

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"/>
<p>