Передать список массивов обратно в стойки JSP с помощью контроллера Spring? - PullRequest
0 голосов
/ 24 июня 2019

Работа с двумя проектами: один построен на стойках, а другой - на пружине. Мне нужно сделать ajax-вызов, чтобы вернуть список объектов, чтобы я мог отобразить их в html для проекта Struts. В настоящее время 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 Ответ

0 голосов
/ 25 июня 2019

В контроллере мне нужно было добавить продукции = "application / json" в @RequestMapping, а перед возвратом создать новый Gson и вернуть gson.ToJson () из списка. В моем jsp-файле я смог нормально перебрать список после возвращения JSON, добавив dataType: 'json' к вызову ajax.

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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...