1

需要你的帮助。添加modelAndView后,我无法在jsp中获取json字符串。经过调试,我发现它被添加到了modelAndView实例中。

下面是代码片段:

控制器:

modelAndView.addObject("json-data",jsonhelper.getJSONString(viewData));

JSP

<c:if test="${json-data != null}">

<script type="text/javascript">

     window.jsonData =${json-data};

 </script>

</c:if>

这里 viewData 是我需要在 jsp 中获取的对象,但在 jsp 中它给出的是 0。

4

1 回答 1

3

中的破折号 ( -)json-data被解释为算术运算符minus

根据规范(1.7.1):

二元运算符 - A {+,-,*} B

如果 A 和 B 为空,则返回 (Long)0

因此json-data被解析为0,结果为json-data != null真,并被window.jsonData赋值为0

一种解决方案是将变量重命名为jsonData或任何其他有效的 Java 标识符。

或者,这也将起作用:

window.jsonData = <%= request.getAttribute("json-data") %>
于 2015-05-05T06:24:56.097 回答