JAVAから送り込んだMAPオブジェクトを、jqueryで扱う方法がわかりません。
初歩的なことで恐縮ですが、ご教示ください。
java
1// 要は、slctTypeMapという名のMAPを送っています。 2ModelAndView initMV(ModelAndView mav) { 3 mav.setViewName("index"); 4 mav.addObject("slctTypeMap", getMap()); 5 return mav; 6} 7 8Map getMap() { 9 Map<String, String> map = new HashMap<String, String>(); 10 map.put("", "0"); 11 map.put("さかな", "1"); 12 map.put("とり", "2"); 13 map.put("うし", "3"); 14}
html
1<body> 2 // MAPを使ってプルダウンを表示しています。これはうまくいきます。 3 <ul> 4 <li><select id="slctType" name="slctType"> 5 <option value="">------------</option> 6 <option th:each="mp : ${slctTypeMap}" th:value="${mp.value}" th:inline="text"> 7 [[${mp.key}]]</option></select></li> 8 </ul> 9 10 <script th:inline="javascript"> 11 var mapObj = /*[[${slctTypeMap}]]*/null 12 // ↑これは画面表示後にF12で確認して、copy elementでscriptタグをコピーすると以下のように取れています。 13 // var mapObj = {"":"0","さかな":"1","とり":"2","うし":"3"}; 14 15 var valueS = mapObj.get("さかな"); 16 // がしかし、mapObj からgetで値を取ろうとすると、エラーになります。 17 </script> 18</body>
エラー内容
Uncaught TypeError: mapObj .get is not a function
at HTMLTableElement.formatter ((index):22)
知りたいのは、javaから送り込んだMAPオブジェクトから、sizeで長さを取得したり、getで値を取得したりする方法です。
よろしくお願いいたします。
回答4件
あなたの回答
tips
プレビュー