Как вернуть более одного объекта из вызова ajax (grails) - PullRequest
0 голосов
/ 13 мая 2011

У меня есть функция ajax, которая должна возвращать список объектов. Прошу прощения за вопрос, я новичок в Grails и веб-программировании

Например, моя функция ajax должна возвращать комбинацию этого

def ajaxFunction= {
    //it should return all the following object
    List<String> stringList = ......
    List<ClassA> classAList = .....
    ClassB objectOfB = ....
    int count = ...
    .
    .
    .
    //I don't know who to return this all... (stringList , classAList , objectOfB ,count)

}

Ответы [ 3 ]

1 голос
/ 13 мая 2011

Или вы можете сделать это:

def ajaxFunction= {
    //it should return all the following object
    List<String> stringList = ......
    List<ClassA> classAList = .....
    ClassB objectOfB = ....
    int count = ...
    return [stringList:stringList,classAList:classAList,objectOfB:objectOfB,count:count] as JSON

}

Только не забудьте импортировать конвертер Grails JSON

0 голосов
/ 13 мая 2011

Вы можете вернуть несколько объектов json и проанализировать их на стороне клиента:

List<String> stringList1 =  new ArrayList<String>();
List<String> stringList2 =  new ArrayList<String>();

String json1 = new Gson().toJson(stringList1); 
String json2 = new Gson().toJson(stringList2); 
String bothJson = "["+json1+","+json2+"]"; //Put both objects in an array of 2 elements

return bothJson as JSON

Не проверено, хотя.

0 голосов
/ 13 мая 2011

Я думаю, лучше создать класс бобов.например,

class YourBeanClass {
    List<String> stringList;
    List<ClassA> classAList;
    ClassB objectOfB;
    int count;
    .
    .
    .
}

, чтобы вы могли использовать этот класс bean и возвращать этот класс bean

def ajaxFunction= {
    YourBeanClass yourBeanClass = new YourBeanClass();
    yourBeanClass.stringList = ......
    yourBeanClass.classAList = .....
    yourBeanClass.objectOfB = ....
    yourBeanClass.count = ...
    yourBeanClass..
    .
    .

    //you can return/render this yourBeanClass
    return yourBeanClass

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...