2

別のドロップダウンで選択された値に応じてドロップダウン値を設定するために、Java マップから JavaScript マップを作成したいと考えています。以下はコードです(動作していません):

var categoryAndReportsMap = new Object();
<% 
Map<String,Set<String>> categoryAndReportsJ = (Map<String,Set<String>>)      request.getAttribute("categoryAndReports");
for(Map.Entry<String,Set<String>> e : categoryAndReportsJ.entrySet()){ %>
categoryAndReportsMap[ <% e.getKey(); %> ] = <% e.getValue(); %>;
<% } %>

どうすればこれを達成できるか提案してください。

4

1 に答える 1

3

キーと値を引用符で囲む必要があります。

categoryAndReportsMap["<%= e.getKey() %>"] = "<%= e.getValue() %>";

ただし、これは、これらの文字列に引用符自体が含まれていないことを前提としています。最良の解決策は、優れたgsonのような JSON シリアライザーを使用することです。これは次のように簡単です。

var categoryAndReportsMap = <%= gson.toJson(categoryAndReportsJ) %>;
于 2013-05-06T14:25:40.170 に答える