Grails-组合来自多个域的数据并返回控制器

时间:2014-01-28 09:11:54

标签: jquery json grails grails-domain-class grails-controller

我有一个控制器,我需要从多个域中获取数据,将返回组合到视图中。在GSP页面中我使用jquery ajax来调用这个coltroller。

我创建了一个包装器类,它包装来自多个域的数据并作为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 个答案:

答案 0 :(得分:1)

哦,试试这个:

def 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->

def map = [:]
                    map.date = lst
                    returnList&lt;&lt;图

   }

   //iterating list
   list2.each {lst-> 

def map = [:]

map.name = lst

returnList&lt;&lt;图

   } 

   render returnList as JSON 

}

这应该可以解决你的问题。