在具有i18n属性文件的服务器中,并使用ResourceBundle加载并构建为json字符串。在Jsp中,它可以被称为
<% bean.getMessageByLocale('fr'); %>
getMessageByLocale就像:
public String getMessageByLocale(Locale locale) {
ResourceBundle bundle = ResourceBundle.getBundle("i18nBundle.langbundle", locale);
int n = 0;
String ret = "{";
Enumeration <String> keys = bundle.getKeys();
while (keys.hasMoreElements()) {
if (n>0) {
ret += ",";
}
n++;
String key = keys.nextElement();
String value = bundle.getString(key);
ret += "\""+key+"\":\""+value+"\"";
}
ret += "}";
System.out.println("json: " + ret);
return ret;
}
返回json字符串将是:
{"key1":"message 1","key2":"message 2","key3":"message 3"}
传递一个可用的地图对象的最佳方法是什么,该对象可以直接在jsp中使用,javascript代码可以按键查找?
答案 0 :(得分:0)
只需从方法中返回一个JSON格式的字符串,然后通过AJAX调用将JSON对象加载到JavaScript中。