我有一个控制器,我需要从多个域中获取数据,并结合返回到视图。在 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)
}
}
提前致谢。
好的,试试这个:
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 both lists
list1.each { lst ->
def map = [:]
map.date = lst
returnList << map
}
list2.each { lst ->
def map = [:]
map.name = lst
returnList << map
}
render returnList as JSON
}
这应该可以解决你的问题。