使用的是sql server
数据库设置的还是4位小数呢,
我测试过,不是数据库的问题
如下:form有个数值的字段:
action中如下
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,
HttpServletResponse response)
{
TestForm testform = (TestForm) form;
System.out.println(" Action " + testform.getShuzi());
return new ActionForward(mapping.getInput());
}
如果shuzhi文本框不填写的话,testform.getShuzi() 得到的值已经是0.0了!
数据库设置的还是4位小数呢,
我测试过,不是数据库的问题
如下:form有个数值的字段:
action中如下
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,
HttpServletResponse response)
{
TestForm testform = (TestForm) form;
System.out.println(" Action " + testform.getShuzi());
return new ActionForward(mapping.getInput());
}
如果shuzhi文本框不填写的话,testform.getShuzi() 得到的值已经是0.0了!
解决方案 »
- spring怎么获得properties文件里面的数据?
- 进程被kill后,占用的数据库连接会释放吗?长时间不清理会造成连接池泄漏吗?
- 关于spring对LOB的处理
- spring 是否能进行分布式事务管理?
- 如何把一个javaBean 转换成map呢?
- Java 交流群9189056,希望加入共同提高!
- 马上要做一个用JsperReport+IReport的报表相关的项目了,请大家给点建议,看如何下手
- JBuilder,Jboss,Tomcat,jsp 的问题
- HTTP Status 500 - Error
- 关于myeclipsetomcat可以运行,自装的tomcat就不能访问,出现404
- jbuilder+weblogic8.1迁移到eclipse+weblogic8.1老是出问题?
- 如何在一个xml文档中提取某个元素的所有内容,不带命名空间?
程序的效率值得考虑,还有就是还要做form和业务对象的互相转换,我的form有将近7,8十个字段,
一一转换挺累的, 大家有什么好的转换方法吗?(或者还有什么办法不需要这种form和业务对象的转换)谢谢!
在set方法中在做一次类型转换(数据库中相应字段的类型 -> String)
不知道这样做是否可以
把你的持久化类的原始类型设定成包装类型就不会出现上面的问题了~例如持久化类中的int换成Integer~我以前就遇到过类似问题,按照我说的方法可以解决~
不过我用的是Hibernate+MySql~
可以说这个方案是Hibernate提出来的~
看如下
double getDouble(int columnIndex)
throws SQLException以 Java 编程语言中 double 的形式检索此 ResultSet 对象的当前行中指定列的值。 参数:
columnIndex - 第一个列是 1,第二个列是 2,……
返回:
列值;如果值为 SQL NULL,则返回值为 0 也就是说从数据库取数时最好不要使用getDouble,
不然的话就会给空的字段赋值0!
hafocus():谢谢@有点失望,用java有时候就是麻烦!突发奇想,能不能在form中作个方法, 例如 setValue(String 字段名,String 字段值)这样就可以动态的设定form的值了??这个问题