我想在我的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声音关闭接线。还有更好的方法吗?
感谢。
答案 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"
// }