在Javascript中使用Java Messages.properties

时间:2015-06-09 00:24:16

标签: java javascript properties-file

我想在我的Javascript中使用Java Messages.properties。目前我正在使用JSTl将消息吐出到javascript变量,并在我的js中使用。有没有更好的方法。我查看了jawr plugin Javascript i18n消息生成器,但除了将其添加到web.xml文件的servlet引用之外,我不太了解。

我的jsp页面

__messages = {
            errorPattern: '<fmt:message key="errors.match_pattern" />',
            notBothBeSet: '<fmt:message key="errors.not_both_be_set"/>'
}

我的要求就是在js中使用java属性,使用JSTL声音关闭接线。还有更好的方法吗?

感谢。

1 个答案:

答案 0 :(得分:0)

我在Grails应用程序中做了类似的事情,但我将它作为Node.js的单独构建步骤。

假设您在变量contents中拥有属性文件的内容,您可以使用下面的内容。输入可能更灵活,但它有效。这假设您没有在属性文件中的=周围放置空格。该函数返回JSON,因此您希望将返回值写入JS文件。

function getMessages(contents) {
  var splitter = /^(.*?)=(.*)$/;

  var data = contents.trim().split('\n').reduce(function(memo, line) {
    var split = line.match(splitter);

    if (split) {
      memo[split[1]] = split[2];
    }

    return memo;
  }, {});

  return JSON.stringify(data, null, '  ');
}

getMessages('test=hello\nfoo=bar');
// {
//  "test": "hello",
//  "foo": "bar"
// }