为了账号安全,请及时绑定邮箱和手机立即绑定

使用 spring 控制器将数组列表传回 struts jsp?

使用 spring 控制器将数组列表传回 struts jsp?

SMILET 2023-02-16 16:36:10
使用两个项目,一个构建在 struts 上,一个构建在 spring 上。我需要能够进行 ajax 调用以带回对象列表,以便我可以在 struts 项目的 html 中显示它们。目前,对控制器的 ajax 调用工作正常,但我无法传回数组列表。有什么建议么?javascript$.ajax({    url: 'sampleUrl.com/controller/call',    success: function(data) {        //handle returned object    }}控制器方法@RequestMapping(value = 'call', method = RequestMethod.Get)public @ResponseBody List<SampleObject> getSampleObjects(HttpServletRequest request) {     List<SampleObject> sampleList = new ArrayList<SampleObject>();     sampleList.add(new SampleObject());     return sampleList;}
查看完整描述

1 回答

?
侃侃无极

TA贡献2051条经验 获得超10个赞

在控制器中,我必须将 produces="application/json" 添加到 @RequestMapping 并在返回之前创建一个新的 Gson 并返回列表的 gson.ToJson() 。在我的 jsp 文件上,一旦通过将 dataType: 'json' 添加到 ajax 调用返回 JSON,我就能够正常循环遍历列表。


javascript


$.ajax({

    url: 'sampleUrl.com/controller/call',

    dataType: 'json',

    success: function(data) {

        for(var i = 0; i < data.length; i++) {

            console.log(data[i]);

        }

    }

}

控制器:


@RequestMapping(value = 'call', method = RequestMethod.Get, produces="application/json")

public @ResponseBody String getSampleObjects(HttpServletRequest request) 

{

     List<SampleObject> sampleList = new ArrayList<SampleObject>();

     sampleList.add(new SampleObject());

     Gson gson =  new Gson();

     return gson.toJson(sampleList);

}


查看完整回答
反对 回复 2023-02-16
  • 1 回答
  • 0 关注
  • 86 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信