Estoy usando Spring 3 Portlet MVC. La validación/enlace en solo MVC debe ser el mismo.cualquier forma de obtener BindingResult para @RequestParam?
Tengo un solo campo de formulario int
. Cuando estoy haciendo
void doSmth(MyForm form, BindingResult bindingResult) throws ... {
int bindErrors = bindingResult.getErrorCount())
...
y presentar un valor de campo que no se puede analizar como int
este método es ejecutado y bindErrors
es 1. Valor de campo de formulario que recibe este método es 0. Eso es grande.
Pero crear un formulario solo para contener un solo campo no es muy bueno.
estoy cambiando el código para:
void doSmth(@RequestParam int userId, BindingResult bindingResult) ... {
int bindErrors = bindingResult.getErrorCount())
...
y conseguir portlets no disponible mensaje en el navegador y esto Excepción:
org.springframework.web.portlet.FrameworkPortlet processRequest Podría solicitud no completa org.springframework.beans.TypeMismatchException: Error al convertir valor del tipo 'java.lang.String' al tipo requerido 'int'; anidada excepción es java.lang.NumberFormatException: Para cadena de entrada: "q"
Pregunta: ¿hay alguna manera de proceder con la ejecución del método y procesar los errores de enlace en él, incluso si falla @RequestParam
conversión de tipo? Intenté hacer que @RequestParam
no fuera obligatorio y proporcionarle un valor predeterminado no me ayudó.
bien si no está apoyada fuera de la caja, entonces creo Puedo vivir con un solo valor Bean, gracias –