我正在使用jquery i18n插件(http://code.google.com/p/jquery-i18n-properties/)来国际化jquery / js中的消息。我有以下项目结构。
我在some.js
文件夹中有js
文件,在some.js
文件中我必须引用位于properties
文件夹的src/main/resources
文件夹中的属性文件。我可以这样做吗?在properties
夹的src/main/resources
文件夹里面我放了Messages.properties
和Messages_en_US.properties
。在我已经放置myForm.success.msg=Success
属性的两个属性文件中。现在我想尝试如下访问它。但是下面的代码没有得到myForm.success.msg
键的值。 instead of giving value, it is giving the key itself but not the value
。我错误地引用了属性文件吗?我的属性文件是否正确?请帮我。
<script type="text/javascript" src="./public/js/some.js"></script>
<script type="text/javascript" src="./public/js/jquery.i18n.properties-min-1.0.9.js"></script>
jQuery.i18n.properties({
name:'Messages',
path:'properties/', //as i have properties file in properties folder of src/main/resources
mode:'both',
callback: function() {
alert("message "+jQuery.i18n.prop('myForm.success.msg'));
}
});
我不尝试,但我认为你应该把*.properties
文件放在public/resources
目录中。
路径应该是:
jQuery.i18n.properties({
name:'Messages',
path:'../resources/', // changed here
mode:'both',
callback: function() {
alert("message "+jQuery.i18n.prop('myForm.success.msg'));
}
试试吧。
将您的应用程序部署到服务器,例如。 Tomcat,然后通过服务器访问页面。问题的根本原因是html页面无法跨域访问属性文件。
不幸的是,这不会奏效。 JQuery插件将始终查找webcontent
文件夹中的属性文件。试试这个:
resources/custom/i18n/
[注意 - 这里我将属性文件放在i18n
文件夹中,并在resources
下放置了一个webapp
文件夹]。这将解决您的问题!src/main/resources
文件夹中,但作为构建步骤的一部分,将此属性文件复制到第二个位置(即在webapp
文件夹中)。