Задать вопрос
  • Как вывести на одной странице данные из двух других контроллеров в grails?

    @User456 Автор вопроса
    В общем, путем очень долгих поисков, решение еле-еле как нашлось. Нужно вывести содержимое двух контроллеров: Shops и Country.
    В качестве исходника был взят контроллер Shops. (То, что закомментировано - сгенерировал grails). Подставил следующее.
    ShopsService shopsService
    CountryService countryService
    def index(Integer max) {
            //params.max = Math.min(max ?: 10, 100)
            //respond shopsService.list(params), model:[shopsCount: shopsService.count()]
    		
    		def list1 = countryService.list(params)
    		def list2 = shopsService.list(params)
    		def str = '';
    		str += '<p>--------------------Country-------------------------</p>'
    		for (def i = 0; i <list1.size; i++) {
    			str += '<p>' + list1[i] + '</p>'
    		}
    		str += '<p>--------------------Shops-------------------------</p>'
    		for (def i = 0; i <list2.size; i++) {
    			str += '<p>' + list2[i] + '</p>'
    		}
    		render str
        }

    Выводит просто в столбец данные, на белом фоне. Кстати, выводит он то, что вы указали, при создании класса в методе ToString. Результат конечно преподу не понравился, но, прокатило.
    Ответ написан
    Комментировать