jquery.i18n.properties无效

时间:2014-02-20 22:11:14

标签: javascript jquery

我在使用这个jQuery国际化时遇到了问题。我将jquery.i18n.properties.jsjquery.i18n.properties-min.jsjquery-min.js文件添加到了我的资源文件夹中。

在我的jsp中我添加了这个文件

<script type="text/javascript" src="<c:url value="/resources/js/jquery-min.js/>"></script>  
<script type="text/javascript" src="<c:url value="/resources/js/jquery.i18n.properties.js" />"></script>  
<script type="text/javascript" src="<c:url value="/resources/js/jquery.i18n.properties-min.js" />"></script>  

然后在JS文件中我正在尝试加载.properties文件

$(document).ready(function(){
    jQuery.i18n.properties({
        name:'Messages',
        path:'webapp/WEB-INF/messageSources/',
        mode:'both',
        language:'en',
        callback: function() {
            alert(jQuery.i18n.prop('registration.field.empty'));
        }
    });     

但它会将密钥('registration.field.empty')打印为消息而不是值。

我的属性文件是:Messages_en.properties

2 个答案:

答案 0 :(得分:0)

jsp的第一行,你有这个:

<c:url value="/resources/js/jquery-min.js/>"

但它必须是这样的:

<c:url value="/resources/js/jquery-min.js" />

你刚刚输了一个错误...我对jsp并不熟悉,但是你不必在每个引号之前用\转义双引号吗?

答案 1 :(得分:0)

似乎WEB-INF目录仅限于从servlet-context外部访问。并且javascript绝对不属于servlet-context。

您需要将您的MessageResouces文件(语言文件/属性)从WEB-INF复制到另一个目录,...

  1. e.g。创建目录/ i18n(与WEB-INF处于同一级别,但不在WEB-INF内!)
  2. 将属性文件放入创建的目录
  3. 重试访问文件