林每當我在文本框中輸入一個空字符串有這個錯誤,並嘗試將其保存林有此錯誤:未能java.lang.String類型的屬性值轉換爲所需的類型雙
Failed to convert property value of type java.lang.String to
required type double for property customerAcctSetting.maxAllowableAmount;
nested exception is java.lang.IllegalArgumentException: Cannot convert value of
type [java.lang.String] to required type [double] for
property maxAllowableAmount:
PropertyEditor [bp.ar.util.NumberFormatUtil$CustomerDoubleEditor] returned
inappropriate value
但當我輸入一個無效的數字格式,如「DDD」我有這樣的錯誤:
Failed to convert property value of type java.lang.String to required
type double for property customerAcctSetting.maxAllowableAmount;
nested exception is java.lang.NumberFormatException: For input string: "ddd"
我有這樣的粘合劑在我的控制器:
@InitBinder
public void initBinder(WebDataBinder binder) {
NumberFormatUtil.registerDoubleFormat(binder);
}
而且我有一個類NumberFormatUtil.java
實現靜態函數registerDoubleFormat(binder)
:使用Spring 3.0.1
NumberFormatUtil.java
public static void registerDoubleFormat (WebDataBinder binder) {
binder.registerCustomEditor(Double.TYPE, new CustomerDoubleEditor());
}
private static class CustomerDoubleEditor extends PropertyEditorSupport{
public String getAsText() {
Double d = (Double) getValue();
return d.toString();
}
public void setAsText(String str) {
if(str == "" || str == null)
setValue(0);
else
setValue(Double.parseDouble(str));
}
}
林。我對Java和Spring等其他相關技術很陌生。請幫忙。提前致謝。
那麼答案是什麼?閱讀春季論壇似乎這應該只是工作。我得到一個「無法將類型[java.lang.Double]的屬性值轉換爲屬性...所需的類型[java.lang.Double]」,這使我暈眩。 –