検索キーワードが悪いのかこれだと欲しい情報にたどり着けずこちらに投稿する事にしました。
識者の方々、何卒宜しくお願い致します。
###問題
SpringbootのコントローラクラスでMapオブジェクトをmodel.addAttributeしてView側のjavascriptでうまく参照できずに困っています。
「model.addattribute javascript map」等々でググったのですが、欲しい情報が見つかりませんでした。
結局、
参考サイト
この辺りを参考に実装した見たのですが、どうにも...。
###ソースコード
ctrl.java
Java
1Map<String, String> testMap = new HashMap<String, String>(); 2 3testMap.put("0001", "開発課"); 4testMap.put("0002", "経理課"); 5 6JSONObject testObj = new JSONObject(testMap); 7 8model.addAttribute("map", testObj.toString());
view.html
javascript
1<script th:inline="javascript"> 2$(function(){ 3 4 $('#aaa').change(function() { 5 6 /*<![CDATA[*/ 7 var bumonMap = /*[[${map}]]*/''; 8 /*]]>*/ 9 10 console.log(bumonMap); 11 12 var result = bumonMap['0001']; 13 14 console.log(result); 15 }); 16}); 17</script>
###実行結果
javascriptをデバッグで見てみるとconsole.log(bumonMap)では
{"0002":"経理課","0003":"営業課","0001":"開発課"}
と連想配列っぽいものが入っているのですが、console.log(result)はundefinedになっています。
###開発環境
- OS Windows10 professional x64
- IDE Eclipse 4.8 Photon
- Thymeleaf 3.0.2.RELEASE
- 言語 Java
- TOMCAT 9.0.30
- Java 11
- プロジェクト形式 Gradleプロジェクト
回答2件
あなたの回答
tips
プレビュー