Проверка Hibernate не отображает пользовательские сообщения об ошибках в JSF 2

#spring #jsf-2 #bean-validation #hibernate-validator

#spring #jsf-2 #проверка компонента #hibernate-validator

Вопрос:

я использую проверку hibernate (4.2.0 Final) с JSF 2 и Spring, и вот моя конфигурация:

1- ApplicationContext:

 <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
    <property name="basenames">
    <list>

    <value>classpath:messages/ValidationMessages</value>
    <value>classpath:messages/application</value>

    </list>
    </property>
    <property name="defaultEncoding" value="UTF-8"/>
    </bean> 
  

2- faces-config.xml :

 <resource-bundle>
           <base-name>messages.ValidationMessages</base-name>
        </resource-bundle>
  

при попытке использовать следующее:

 @NotBlank(message = "{name.required}")
private String name;
  

он не работает, он не отображает сообщение из файла свойств, он отображает {name.required}

пожалуйста, сообщите, почему это не работает.

Комментарии:

1. AFAIR hibernate-validator всегда ищет ValidationMessages в корне classpath. Я предлагаю переместить его туда.

2. это уже в пути к классу, я думаю, что мне не хватает дополнительной конфигурации.

3. Я говорил о корне classpath , потому что в вашем примере ValidationMessages внутри message каталога.

4. ага, понял, я попробую.

Ответ №1:

проблема заключалась в том, что ValidationMessages.properties не находится непосредственно под classpath, я помещал его в папку messages в classpath, когда я переместил его в classpath напрямую, теперь он работает нормально.