Spring MVC:无法在 jsp 中获取 json 值,它给出 0

Spring MVC : Unable to get json value in jsp, it's giving 0

需要你的帮助。添加 modelAndView 后,我无法在 jsp 中获得 json 字符串。调试后发现在modelAndView instace中添加了

下面是代码片段:

控制器:

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。

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

根据 spec (1.7.1):

Binary operators - A {+,-,*} B

If A and B are null, return (Long)0

因此 json-data 被解析为 0json-data != null 产生 true,并且 window.jsonData 被赋值为 0.

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

或者,这也有效:

window.jsonData = <%= request.getAttribute("json-data") %>