2013-04-24 9 views
0

Ajax를 사용하여 JSP 내부에 표시하기 위해 Spring MVC 컨트롤러 클래스에서 JSON 데이터 객체 목록을 가져와야합니다.Spring MVC @ResponseBody, JSON, JSP. 컨트롤러에서 JSP로 <Objects>을 반환하려고 시도합니다.

JSON 객체 목록을 반환하는 Spring MVC 컨트롤러 클래스를 작성했습니다.

JSP 내에서 객체 목록을 어떻게 표시 할 수 있는지 이해할 수 없습니다.

URL을 방문하거나 쇼핑 할 때 브라우저에서 JSON 데이터를 볼 수 있습니다.

문제는 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를 사용하여 JSP에 스프링 MVC 컨트롤러에서 JSON 개체의 목록을 표시하는 날을 제안하십시오 index.jsp를 는 여기에있다.

고맙습니다. 어떤 제안/수정 사항이 도움이 될 것입니다.

obj = JSON.parse(json) 

답변

0

귀하의 코드에 꽃 괄호.

+0

반품 등급을 제공 할 수 있습니까? –

+1

public class Shop { \t 문자열 이름; \t \t 문자열 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 은} 나는이 가게 클래스의 반환 목록을 가지고있다. 내가 자바 스크립트 안에있는 객체의 json 목록을 반복하는 법을 이해할 수 없다. 이 데이터를 어떻게 알 수 있습니까? 루프. –

+0

브라우저 콘솔 로그를 확인하십시오. 오류가 무엇입니까? –

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> 

은의 폐쇄에 문제가 발생한 것 같습니다 자바 스크립트에서

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

다음 줄을 제거 : 컨트롤러에서

관련 문제