使用 spring 控制器将数组列表传回 struts jsp?
Pass array list back to struts jsp using spring controller?
正在处理两个项目,一个基于 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;
}
在控制器中,我必须将 produces="application/json" 添加到 @RequestMapping 并在 return 之前创建一个新的 Gson 和 return gson.ToJson()列表。在我的 jsp 文件中,一旦 JSON 通过添加 dataType: 'json' 到 ajax 调用,return 就可以正常循环遍历列表。
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);
}
正在处理两个项目,一个基于 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;
}
在控制器中,我必须将 produces="application/json" 添加到 @RequestMapping 并在 return 之前创建一个新的 Gson 和 return gson.ToJson()列表。在我的 jsp 文件中,一旦 JSON 通过添加 dataType: 'json' 到 ajax 调用,return 就可以正常循环遍历列表。
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);
}