解决struts2中Double类型的转换问题这个对应到model里面的private Double creditLine?@Column(name cr
解决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,提交表单,运行成功。
?