如何将地图从bean传递到JSP并在javascript

时间:2016-01-18 18:54:47

标签: javascript jsp dictionary resourcebundle

在具有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代码可以按键查找?

1 个答案:

答案 0 :(得分:0)

只需从方法中返回一个JSON格式的字符串,然后通过AJAX调用将JSON对象加载到JavaScript中。