Я использую Spring 3 Portlet MVC. Проверка/привязка только в MVC должна быть одинаковой.любой способ получить BindingResult для @RequestParam?
У меня есть только одно поле формы int
. Когда я делаю
void doSmth(MyForm form, BindingResult bindingResult) throws ... {
int bindErrors = bindingResult.getErrorCount())
...
и подав значение поля, которое не может быть разобрано, как int
этот метод запускается на выполнение и bindErrors
равно 1. Значение поля формы, что этот метод получает 0. Это здорово.
Но создание формы, чтобы содержать только одно поле, не очень велико.
Я изменить код, чтобы:
void doSmth(@RequestParam int userId, BindingResult bindingResult) ... {
int bindErrors = bindingResult.getErrorCount())
...
и получать портлета не доступно сообщение в браузере и это исключение:
org.springframework.web.portlet.FrameworkPortlet ProcessRequest Может не полный запрос org.springframework.beans.TypeMismatchException: Не удалось преобразовать значение значения типа 'java.lang.String' в требуемый тип 'int'; вложенная исключение java.lang.NumberFormatException: Для ввода строки: «д»
Вопрос: есть ли способ, чтобы приступить к исполнению метода и процесса связывания в нем ошибок, даже если @RequestParam
преобразование типа не удается? Я попробовал сделать @RequestParam
не обязательным и предоставить ему значение по умолчанию - не помогло.
хорошо, если оно не поддерживается из коробки, то я думаю, Я могу жить с одним бонусом, спасибо –