问题是我无法在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?
答案 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中“工作”。您必须复制所有数据。