我想使用ModelMap.addAttribute或put方法从Spring MVC控制器方法传递预先形成的JSON字符串。我有一些数据需要在页面呈现时加载。我不想发送Java对象列表,然后必须用Javascript解压缩到JSON。问题是ModelMap.addAttribute或ModelMap.put似乎将JSON字符串转换回Java对象。
当我检查JSP中添加的属性时,我会得到以下内容:
[foos.web.FOOSController$foosDataHolder@63eef378,foos.web.FOOSController$foosDataHolder@5f395275]
在控制器中:
model.put("foosData", jsonFoosString); // can I just pass a string here?
在JSP中:
var foosData = "${foosData}";
然后浏览器中的JSON解析器无法解析foos.web.FOOSController$foosDataHolder@63eef378
并且说'@'
是无效字符,它就是。
感谢您对这个Spring MVC新手的任何建议。 我知道我可以做一个ajax方法并返回JSON字符串,或者在JSP中解包一个对象数组,但我希望这个很快。