如何将一个对象列表从grails控制器分配到javascript数组

时间:2011-08-01 13:18:30

标签: javascript grails gsp

我正在从我的控制器向我的页面传递一个对象列表,在加载我的页面时我想在控制器列表中的每个元素上调用一个javascript函数。我怎样才能实现这一点,我知道我不能混合和匹配javascript和$ {}(g-strings),所以我什么都不知道。请帮忙

代码:来自控制器,DurationTable包含一个到期日期字段

def test = {
    [durationTablelist: DurationTable.list()]
}

gsp ::

上的代码
jQuery(document).ready(function() {
    var counter = 0;
    var myarraylist = new Array();
    myarraylist = "${durationTablelist}";
    for(counter=0;counter<"${durationTablelist.size()}";counter++){
        // call some function on each of the element in the list passed from controller
        dont know what to write here..
    }

2 个答案:

答案 0 :(得分:0)

有很多方法可以做到。

  1. 您可以使用scriplets,如here所示。
  2. 您可以使用jquery在控制器上调用返回json的操作,然后使用json响应填充数组。
  3. 我个人会选择2。

答案 1 :(得分:0)

你需要做类似的事情;

import grails.converters.JSON

  ...
  render DurationTable.list() as JSON

有关详细信息,请参阅here