如何使用Spring MVC 4和jQuery I18N的语言属性?

时间:2015-01-26 02:40:24

标签: javascript jquery spring-mvc internationalization http-status-code-404

我正在使用Spring MVC 4和jQuery I18N开发一个Web应用程序。我已经检查了以下链接但没有成功:

How to dynamically change language using jquery-i18n-properties and JavaScript?

How to load i18n Property file using jQuery.i18n.properties.js + Spring 3 mvc

但是当我访问该页面时,我在开发人员的chrome控制台中收到 404 Not found error

enter image description here

我的项目结构是:

enter image description here

cheque.js(结构中的布朗方块)我有以下代码:

function loadBundles(lang) {
    jQuery.i18n.properties({
        name:'messages', 
        path:'i18n/',
        mode:'both',
        language:lang,
        callback: function(){
            console.log(jQuery.i18n.prop('check_receiver'))
        }
    });
}
...
loadBundles('es');
...
  1. 在红色方块中是使用jquery.i18n所需的文件。
  2. 在蓝色方块中,我有I18N属性文件。
  3. 粉红色正方形是包含网页的文件
  4. webmvc-config.xml 中,我有以下代码:

    <mvc:resources location="/, classpath:/META-INF/web-resources/"
            mapping="/resources/**" />
    
    <bean class="org.springframework.context.support.ReloadableResourceBundleMessageSource" p:defaultEncoding="ISO-8859-1"
            id="messageSource" p:basenames="WEB-INF/i18n/messages"
            p:fallbackToSystemLocale="false" />
    
        <!-- Store preferred language configuration in a cookie -->
        <bean class="org.springframework.web.servlet.i18n.CookieLocaleResolver"
            id="localeResolver">
            <property name="defaultLocale" value="es" />
        </bean>
    

    javascript函数中的路径是否不正确?

    jQuery I18N是否还需要其他文件?

    提前致谢!!!

1 个答案:

答案 0 :(得分:1)

如果有人面临同样的问题,一周后这就是答案:

  1. 将属性文件移至 src / main / resources 文件夹

  2. 更改了 webmvc-config.xml ReloadableResourceBundleMessageSource 代码,如下所示:

  3. &LT; bean class =“org.springframework.context.support.ReloadableResourceBundleMessageSource”p:defaultEncoding =“ISO-8859-1”     id =“messageSource”p:basenames =“messages”     p:fallbackToSystemLocale =“false”/&gt;

    1. 最后javascript函数是这样的:

      jQuery.i18n.properties({

      name:'messages', 
      path:'../resources/',
      mode:'both',
      language:lang,
      callback: function(){
          console.log(jQuery.i18n.prop('check_receiver'))
      }
      

      });

    2. 那是所有人!