关于 jquery:Grails- 合并来自多个域的数据并在控制器中返回

Grails- combine data from more than one domain and return in controller

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

我创建了一个package类,它package来自多个域的数据并作为 json 返回。但是 json 不正确。

有没有人遇到过这样的问题。请分享与此相关的任何信息。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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)

    }
}

提前致谢。


好的,试试这个:

def getData(){

1
2
3
4
5
6
   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
????
返回列表<<地图

1
2
3
4
   }

   //iterating list
   list2.each {lst->

??? def map = [:]

??? map.name = lst

???返回列表<<地图

1
2
3
   }

   render returnList as JSON

}

那应该可以解决您的问题。