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 |
}
那应该可以解决您的问题。