Spring 3.0 MVC, похоже, игнорирует messages.properties

Spring 3.0 MVC

Прежде всего, я не нашел никакой документации по messages.properties @ springsource Все, что я нашел о переопределении сообщений об ошибках, было на разных форумах . Если у кого-то есть ссылка на то, где задокументированы messages.properties, это было бы здорово. Может быть, messages.properties пришло не из Spring, а из спецификации java?

Я пробовал следовать советам по JSR-303 Проверка типа перед связыванием Моя цель - заменить некоторые сообщения об ошибках несоответствия типов моими собственными удобными для пользователя сообщениями об ошибках

Моя ситуация следующая:

Модель

public class Test {

    private int numberbomb;

    public int getNumberbomb() {
        return numberbomb;
    }

    public void setNumberbomb(int numberbomb) {
        this.numberbomb = numberbomb;
    }
}

myservlet.xml


jsp





numberbomb



классы \ сообщения.properties

typeMismatch=bad value you bad bad person
test.numberbomb=you are driving me crazy with these bad inputs

Вывод из формы

Не удалось преобразовать значение свойства типа java.lang.String в требуемый тип int для свойства numberbomb; вложенное исключение - org.springframework.core.convert.ConversionFailedException: невозможно преобразовать значение «три» из типа java.lang.String в тип int; вложенное исключение - java.lang.NumberFormatException: для входной строки: "three"

BindingResult.toString () в моем контроллере

Ошибка поля в объекте 'test' в поле 'numberbomb': значение отклонено [три]; коды [typeMismatch.test.numberbomb, typeMismatch.numberbomb, typeMismatch.int, typeMismatch]; аргументы [org.springframework.context.support.DefaultMessageSourceResolvable: коды [test.numberbomb, numberbomb]; аргументы []; сообщение по умолчанию [numberbomb]]; сообщение по умолчанию [Не удалось преобразовать значение свойства типа 'java.lang.String' в требуемый тип 'int' для свойства 'numberbomb'; вложенное исключение - org.springframework.core.convert.ConversionFailedException: невозможно преобразовать значение «три» из типа 'java.lang.String' в тип 'int'; вложенное исключение - java.lang.NumberFormatException: для входной строки: "three"]

Отображает ли сообщения об ошибках с неправильным способом отображения пользовательских сообщений об ошибках? Нужно ли мне что-то добавить в конфигурационные файлы Spring, чтобы он смотрел на messages.properties? Spring, похоже, игнорирует мой файл messages.properties (который находится в папке WEB-INF \ classes)

Спасибо за любые идеи!

5
задан Community 23 May 2017 в 11:47
поделиться