2014-01-28 2 views
0

У меня есть контроллер, где мне нужно получить данные из более чем одного домена, объединить возврат к представлению. На странице GSP я использую jquery ajax для вызова этого coltroller.Grails- объединить данные из нескольких доменов и вернуться в контроллер

Я создал один класс-оболочку, который переносит данные из нескольких доменов и возвращается как json. Но json не был прав.

Неужели кто-нибудь столкнулся с такой проблемой. пожалуйста, поделитесь любой информацией, связанной с этим.

class XYZController { 

class XYZData { 
    public ArrayList<String> date; 
    public ArrayList<String> Name; 
} 

def getXYZData() { 
    ArrayList<String> dateList = XYZDomain.executeQuery("select distinct date from XYZDomain") 
    log.info(dateList); 

    ArrayList<String> nameList = ABCDomain.executeQuery("select distinct Name from ABCDomain") 
    log.info(nameList); 

    XYZData data = new XYZData(); 
    data.date = dateList; 
    data.Name = nameList; 

    log.info(data) 

    render(data as JSON) 

    } 
} 

Благодарим заранее.

+1

Можете ли вы добавить код, используемый для обертывания данных? – micha

ответ

1

Окей, попробуйте следующее:

Защиту GetData() {

def returnList = [] 
    List <String>list1 = XYZDomain.executeQuery("select distinct date from XYZDomain") 
    List <String>list2 = ABCDomain.executeQuery("select distinct Name from ABCDomain") 

    //iterating list 
    list1.each {lst-> 

четкости карта = [:]
map.date = LST
returnList < < карта

} 

    //iterating list 
    list2.each {lst-> 

четкости карта = [:]

map.name = LST

< < returnList карта

} 

    render returnList as JSON 

}

Это должно решить вашу проблему.

+0

Его работы. Спасибо большое. –

Смежные вопросы