读书人

解决struts2中Double类型的转换有关问

发布时间: 2012-07-01 13:15:00 作者: rapoo

解决struts2中Double类型的转换问题

这个对应到model里面的private Double creditLine;

?

@Column(name = "credit_line", precision = 10)
public Double getCreditLine() {
?? return this.creditLine;
}

public void setCreditLine(Double creditLine) {
?? this.creditLine = creditLine;
}

?

其它表单项都是string或者非Double型 ,

?

表示提交后,报错,提示找不到setCreditLine(String xx)方法,我的creditLine明明是Double型,为什么它非要给我换成String型呢,无奈之下,想到了自定义类型转换,于是写了个DoubleConvert如下:

?? if (Double.class == toClass) {
??? String doubleStr = values[0];
??? //System.out.println("获取到的字符串" + doubleStr);
??? Double d = null;
??? if(!doubleStr.equals("")){
???? d = Double.parseDouble(doubleStr);
??? }
??? return d;
?? }
?? return 0;
} ?? //System.out.println("value instanceof Double " + (o instanceof Double));
??????? if(o instanceof Double){
??????????? Double d = (Double)o;
??????????? BigDecimal b = new BigDecimal(d.doubleValue()).setScale(2,BigDecimal.ROUND_HALF_DOWN);
??????????? return b.toString();
??????? }
?? return o.toString();
} java.lang.Double=com.prl.helper.DoubleConvert

?

这是个全局转换器,以后只要遇到double型的字段,都可以通过这个转换器来转换。

重启tomcat,提交表单,运行成功。

?

读书人网 >软件架构设计

热点推荐