Как назначить список объектов из контроллера Grails для массива JavaScript - PullRequest
1 голос
/ 01 августа 2011

Я передаю список объектов из моего контроллера на мою страницу, при загрузке своей страницы я хочу вызвать функцию 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 голосов
/ 01 августа 2011

Вам нужно сделать что-то вроде:

import grails.converters.JSON

  ...
  render DurationTable.list() as JSON

для получения дополнительной информации см. здесь

0 голосов
/ 01 августа 2011

Есть множество способов сделать это.

  1. Вы можете использовать скриплеты, как показано здесь .
  2. Вы можете использовать jquery для вызова действия на вашем контроллере, которое возвращает json, а затем заполнить массив ответом json.

Лично я бы сделал вариант 2.

...