Spring MVC @ResponseBody,JSON,JSP。尝试将List <objects>从Controller返回到JSP </objects>

时间:2013-04-24 04:40:30

标签: javascript ajax json jsp spring-mvc

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

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

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

当我点击/购买网址时,我能够在浏览器中看到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对象列表。

感谢高级。任何建议/更正都会对我有所帮助。

2 个答案:

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

代码中关闭花括号似乎存在问题。

答案 1 :(得分:0)

在您的控制器中:

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

在您的javascript中删除以下行:

obj = JSON.parse(json)