0

問題は、Javascript 関数でマップ キーとその値 (これも 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 マップです。

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関数でマップキーとそれに関係する配列リストを表示する方法を教えてください。

4

1 に答える 1

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

これを行う、あなたはただやっている

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

(または、コンバーターを定義している場合は、それによって返される値)。

マップに入力する JS コードを作成するには、Java コードを反復処理する必要があります。

JS と Java は完全に分離された VM の両方で (おそらく別のコンピューターで) 動作すると考えてください。そのため、Java への参照を渡すだけで、それが JS で「動作」することを期待することはできません。すべてのデータをコピーする必要があります。

于 2013-01-03T16:44:10.080 に答える