Spring 3.0 MVC
Прежде всего, я не нашел никакой документации относительно messages.properties @ springsource Все, что я нашел о переопределении сообщений об ошибках, было на разных форумах. Если у кого-то есть ссылка на документацию messages.properties, это было бы замечательно. Может быть, messages.properties не из весны, а из спецификации java?
Я пытался следовать совету
Проверка типа JSR-303 перед привязкой Моя цель - заменить некоторые сообщения об ошибках несоответствия типов моими удобными сообщениями об ошибках
Моя ситуация выглядит следующим образом:
Модель
public class Test {
private int numberbomb;
public int getNumberbomb() {
return numberbomb;
}
public void setNumberbomb(int numberbomb) {
this.numberbomb = numberbomb;
}
}
myservlet.xml
<mvc:annotation-driven/>
1019 * JSP *
<form:form id="test" method="post" modelAttribute="test">
<form:errors path="*"/>
<form:label path="numberbomb">numberbomb</form:label>
<form:input path="numberbomb"/>
</form:form>
классы \ messages.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]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [test.numberbomb, numberbomb]; аргументы []; сообщение по умолчанию [номерная бомба]]; сообщение по умолчанию [Не удалось преобразовать значение свойства типа 'java.lang.String' в требуемый тип 'int' для свойства 'numberbomb'; вложенное исключение - org.springframework.core.convert.ConversionFailedException: невозможно преобразовать значение «три» из типа «java.lang.String» в тип «int»; Вложенное исключение - java.lang.NumberFormatException: для входной строки: «три»]
Отображает ли сообщение об ошибке с помощью <form:errors>
неправильный способ отображения пользовательских сообщений об ошибках? Нужно ли что-то добавить в конфигурационные файлы Spring, чтобы указать, что нужно смотреть messages.properties? Spring, похоже, игнорирует мой файл messages.properties (который находится в папке WEB-INF \ classes)
Спасибо за любые идеи!