Определение компонентов MessageSource и LocaleResolver в Spring MVC для добавления поддержки i18n

я пытаюсь добавить поддержку i18n в проект Spring MVC (3.2.0.RELEASE). У меня есть два пакета ниже / src / main / resources / bundle:

messageBundle_en.properties
messageBundle_vi.properties

И конфигурации для весеннего MVC, как показано ниже:


    
    
    



    


    


    
        
    

с вышеуказанными конфигурациями приложение не работает. Ошибка была

org.apache.jasper.JasperException: javax.servlet.ServletException: javax.servlet.jsp.JspTagException: No message found under code 'message.home.header.welcome' for locale 'en_US'.
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:549)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:455)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)

Я потратил много часов на сравнение с учебниками по добавлению поддержки i18n. Я видел, что есть только одно отличие: определения бинаCookieLocaleResolver а такжеReloadableResourceBundleMessageSource имеют атрибуты id. Поэтому я изменил настройки на


    


    

Теперь это'работает хорошо!

ДелатьReloadableResourceBundleMessageSource а такжеCookieLocaleResolver требуется иметь идентификаторы в своих определениях?

Почему неInternalResourceViewResolver нужен идентификатор?

Хотите знать, если кто-нибудь может дать мне объяснение в деталях.

Ответы на вопрос(1)

Ваш ответ на вопрос