我正在使用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 :
我的项目结构是:
在 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');
...
在 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是否还需要其他文件?
提前致谢!!!
答案 0 :(得分:1)
如果有人面临同样的问题,一周后这就是答案:
将属性文件移至 src / main / resources 文件夹
更改了 webmvc-config.xml ReloadableResourceBundleMessageSource 代码,如下所示:
&LT; bean class =“org.springframework.context.support.ReloadableResourceBundleMessageSource”p:defaultEncoding =“ISO-8859-1” id =“messageSource”p:basenames =“messages” p:fallbackToSystemLocale =“false”/&gt;
最后javascript函数是这样的:
jQuery.i18n.properties({
name:'messages',
path:'../resources/',
mode:'both',
language:lang,
callback: function(){
console.log(jQuery.i18n.prop('check_receiver'))
}
});
那是所有人!