Spring MVC @ResponseBody, JSON, JSP.试图返回列表<对象>从控制器到JSP

Spring MVC @ResponseBody , JSON, JSP. Trying to Return List<Objects> from Controller to JSP

本文关键字:JSP 对象 控制器 返回 @ResponseBody MVC JSON Spring 列表      更新时间:2023-09-26

我需要从Spring MVC控制器类中检索JSON数据对象列表,以便使用Ajax在JSP中显示。

我写了一个Spring MVC控制器类,它返回JSON对象列表。

我不明白如何在JSP中显示这些对象列表。

当我点击/shop url时,我能够在浏览器中看到JSON数据。

问题在于我无法检索数据的JSP。这里是index.jsp

 <script type="text/javascript">
     function load() {
     $.ajax({
              type: "GET",
              contentType: "application/json",
              dataType: "json",
              url:        "/SpringMVCWithJSON/shop", //url to get list of json data.
              success:    function(msg) {
              var m=msg;
              var json = m ,
              obj = JSON.parse(json);
              for(var i=0;i<obj.length;i++){
              var name= obj[i].name;
          alert(name);
}
     });
    </script>

请告诉我如何使用AJAX从Spring MVC控制器到JSP显示JSON对象列表。

Thanks in Advanced。任何建议/更正都会对我有所帮助。

试试这个:

<script>
function load() {
  $.ajax({
    type: "GET",
    contentType: "application/json",
    dataType: "json",
    url: "/SpringMVCWithJSON/shop",
    success: function(data) {
      for (var i = 0; i < data.length; i++) {
        alert(data[i].name);
      }
    },
    error: function(data){
      alert(data);
    }
  });
}
</script>

代码中花括号的结束似乎有问题

在你的控制器中:

@RequestMapping(value = "/shop", method = RequestMethod.GET, headers = "Accept=application/json")
public List<Object> myJsonReturningMethod{.....}

在你的javascript中删除以下行:

obj = JSON.parse(json)