【发布时间】:2018-02-06 14:24:03
【问题描述】:
我正在尝试在 javascript 中使用 Spring 变量:
Map<String, List<String>> states;
我找到了一些信息here
所以我尝试了:
<script th:inline="javascript">
/*<![CDATA[*/
var xxx = ${states};
console.log(xxx);
/*]]>*/
</script>
在我的浏览器的源选项卡中,我有类似的内容:
var xxx = {STATE1=[a, b, c, d]};
console.log(xxx);
错误是:Uncaught SyntaxError: Invalid shorthand property initializer。
我还尝试了:var xxx = /*[[${states}]]*/ 'foo';,如果我打印console.log(xxx),我得到'foo'。
【问题讨论】:
-
您是否尝试将
xxx变量值用引号括起来以使其成为字符串?只是为了检查! -
它正在与
''一起工作,但问题是这样我没有对象(哈希图)而是字符串,所以我不能做类似xxx['STATE1']的事情 -
看起来你的地图以一种奇怪的方式被序列化了。根据docthymeleaf 应该正确地编写地图。你的类路径中有 Jackson 库吗?
-
我有。我以这种方式传递哈希图:
Map<String, List<String>> states... model.addAttribute("states", states);@JakubCh. -
@ImeshChandrasiri 对不起,我忘了在我的评论中标记你。
标签: javascript java spring spring-mvc