Im tener este error cada vez que entro en una cadena vacía en el cuadro de texto y tratar de guardarlo Im tener este error:no pudo convertir valor de la propiedad del tipo java.lang.String al tipo requerido doble
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
Pero cuando entro en un formato de número no válido, como "DDD" tengo este error:
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"
tengo esta carpeta en mi controlador:
@InitBinder
public void initBinder(WebDataBinder binder) {
NumberFormatUtil.registerDoubleFormat(binder);
}
y tengo una clase NumberFormatUtil.java
que implementa la función estática registerDoubleFormat(binder)
:
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));
}
}
Im utilizando Spring 3.0.1. Soy muy nuevo en Java y otras tecnologías relacionadas, como la primavera. Por favor ayuda. Gracias por adelantado.
¿Cuál es la respuesta? Los foros de Reading Spring parece que esto debería funcionar. Obtengo un "Error al convertir el valor de la propiedad de tipo [java.lang.Double] al tipo requerido [java.lang.Double] para la propiedad ..." que me aturde. –