1

我从一个平面jsp页面调用控制器,没有使用ajax提交表单,我想将一个hashmap从控制器返回到jsp页面,我可以迭代它以显示hashmap的值。

如果我在响应中发送消息,我可以在成功内部的 ajax 函数中得到它:但是如何获取整个地图。因为如果你甚至在请求属性中设置,你就无法在 jsp 页面中得到它。请帮助。

4

2 回答 2

2

Use @ResponseBody annotation on your controller's method. For e.g.:

@RequestMapping(value = "/yourAjaxRequestUrl", method = RequestMethod.POST)
public
@ResponseBody
Map<String, Object> performOperation(@RequestParam("someParam") String someParam) {

    //Do something

    return Collections.<String, Object>singletonMap("yourObject", yourObject);
}

This will return you an object in JSON format, all objects in your map then can be accessed via javascript.

于 2013-08-30T10:25:16.683 回答
0

我认为您将服务器端代码与客户端代码混淆了。AJAX 是客户端,JSP 是服务器端。你只是不能在两者之间传递数据。

当您进行 AJAX 调用时,JSP 已经完成执行,并且它生成的标记存在于浏览器中,包括您的 AJAX 代码。

如果您的 Spring Controller 返回 JSON(也许您将 Map 表示为 JavaScript 关联数组),那么您可以使用 jQuery 遍历该数组并根据其内容创建动态 HTML 元素。

于 2013-08-30T10:27:51.803 回答