2013-04-24 87 views
0

我需要从Spring MVC Controller类中检索JSON数据对象列表,以便使用Ajax显示内部JSP。Spring MVC @ResponseBody,JSON,JSP。尝试从控制器返回列表<Objects>到JSP

我写了Spring MVC Controller类,它返回JSON对象列表。

我无法理解我将如何在JSP中显示这些对象列表。

我可以在浏览器中看到JSON数据,当我点击/ shop url。

问题出在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对象的名单。

感谢高级。任何建议/更正将帮助我。

回答

0

在你的控制器:

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

在JavaScript中删除以下行:

obj = JSON.parse(json) 
+0

你可以提供返回类吗? – 2013-04-24 05:03:27

+1

public class Shop { \t String name; \t \t String staffName []; \t \t public String getName(){ \t \t return name; \t} \t public void setName(String name){ \t \t this.name = name; \t} \t public String [] getStaffName(){ \t \t return staffName; \t} \t public void setStaffName(String [] staffName){ \t \t this.staffName = staffName; \t} \t \t公众店(){ \t} \t }我有这个店铺等级的退货单。我无法理解如何在javascript中迭代此json对象列表。我怎么能看到这个数据简单的警报?循环中。 – 2013-04-24 05:04:39

+0

检查您的浏览器控制台日志。什么是错误? – 2013-04-24 05:06:41

2

试试这个:

<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> 

似乎有要与收盘问题花括号在你的代码中。