如何在jsp中的javascript中访问map键,值(java.util.Map)?

时间:2013-01-03 16:36:00

标签: java javascript jsp javascript-events

问题是我无法在javascript函数中获取map键及其值(这也是一个java ArrayList)

我的代码如下:

function myset() {
    var mymap="${range}";//range is a java map which is accessible here

//Here i need to display the mymap key and its value(which is an arraylist)
}

<select id="bn" name="bn" onchange="myset()">
</select>

range是一个java map,如下所示:

List<String> l=new ArrayList<String>();
l.add("123");
l.add("456");
l.add("789");
List<String> ls=new ArrayList<String>();
l.add("222");
l.add("456");
l.add("333");
Map<String,List<String>> m=new HashMap<String,List<String>>();
m.put("123", l);
m.put("456", ls);

请告诉我如何在上面的javascript函数中显示地图键及其相关的arraylist?

1 个答案:

答案 0 :(得分:1)

var mymap="${range}";//range is a java map which is accessible here

这样做,你只是在做

var mymap="#{range.toString()}" 

(或者,如果您已定义转换器,则返回它的值)。

您需要迭代Java代码以创建将填充地图的JS代码。

认为JS和Java在两个完全分离的VM中工作(很可能在不同的计算机中),因此您不能仅仅传递对Java的引用并期望它在JS中“工作”。您必须复制所有数据。