Spring mvc не может прочитать файл messages.properties

Я пытаюсь использовать пользовательские сообщения об ошибках проверки с помощью файла свойств. Я поместил файл messages.properties в папку web content/web-inf/.

    NonEmpty.batchDomain.batchName=Invalid message 2.

Мой файл applicationContext:

      <context:component-scan base-package="com.coaching.controller" />

<!-- Enable annotation driven controllers, validation etc... -->
<mvc:annotation-driven />

<!-- Resolves view names to protected .jsp resources within the /WEB-INF/views 
    directory -->
<bean id="viewResolver"
    class="org.springframework.web.servlet.view.InternalResourceViewResolver">



    <property name="prefix">
        <value>/WEB-INF/views/</value>
    </property>
    <property name="suffix">
        <value>.jsp</value>
    </property>
</bean>
<mvc:default-servlet-handler />
<mvc:resources mapping="/resources/**" location="/resources/" />

<bean id="messageSource"
    class="org.springframework.context.support.ReloadableResourceBundleMessageSource">

    <property name="basename" value="/WEB-INF/messages" />

</bean>

И мой контроллер:

    @RequestMapping(method = RequestMethod.POST)
public ModelAndView addBatch(
        @Valid @ModelAttribute("batchDomain") BatchDomain batchDomain,
        BindingResult result, HttpServletRequest request,
        HttpServletResponse response) throws Exception {

    try {

        if (result.hasErrors()) {
            ModelAndView modelAndView = new ModelAndView("newBatch");
            return modelAndView;
        }
    }

Пакетный домен:

       public class BatchDomain {

@NotNull
@NotEmpty
@Size(min = 1, max = 100)
private String batchName;

@Min(1)
@Max(1000)
private int strength;

 }

Насколько я видел в Google, я следую правильному подходу. Итак, что может быть причиной этой проблемы?


person vlad halmer    schedule 30.08.2013    source источник
comment
Можете ли вы попробовать поместить файл свойств в корень пути к классам, а не внутри WEB-INF? Также измените объявление в контексте Spring.   -  person Sotirios Delimanolis    schedule 30.08.2013
comment
Я поместил файл в папку src в соответствии с stackoverflow.com/questions/11302531/, и я отредактировал файл контекста как ‹имя свойства = значение базового имени = сообщения /›, но ничего не произошло.   -  person vlad halmer    schedule 30.08.2013
comment
Ваш файл messages.properties работает в других случаях, но игнорируется для сообщений проверки, или он не работает в любом случае? Возможно, вы используете валидатор гибернации, который ищет ValidationMessages.properties (если не настроено иначе).   -  person Krešimir Nesek    schedule 30.08.2013
comment
Я использую проверки import javax.validation.constraints и org.springframework.format.annotation.*. Я использую messages.properties только для ошибок проверки.   -  person vlad halmer    schedule 30.08.2013


Ответы (1)


Вы можете попробовать поместить файл "messages.properties" в каталог /src/main/resource.

person Yinghua    schedule 12.08.2015