Spring MVC: невозможно получить значение json в jsp, оно дает 0

Нужна ваша помощь. Я не могу получить строку JSON в JSP после добавления в ModelAndView. После отладки я обнаружил, что он добавлен в instace 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.

1 ответ

Решение

Тире (-) в 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") %>
Другие вопросы по тегам