Я использую Grails 3.3.8. У меня есть файл gson с шаблоном.
Файл:
model {
Iterable<Map<String, Object>> fileList
Integer count
SearchFileCommand searchFileCommand
}
json
{
lastFile tmpl.fileEl(fileList ?: [])
count count
max searchFileCommand.max
offset searchFileCommand.offset
sort searchFileCommand.sort
order searchFileCommand.sortOrder
}
И простой шаблон:
model {
Map<String, Object> item
}
json {
size item?.size
}
Кодовая строка в конце контроллера выглядит так:
respond([fileList: mapResult.uploadFile,count: mapResult.count, searchFileCommand: searchFileCommand], status: HttpStatus.OK, view: "searchEl")
Из файла gson я вижу все значения, правильно заполненные в отладке, а также список заполненных карт. Но когда он входит в шаблон, переменная Map Item становится пустой.
любой совет?
Я выяснил, где была проблема. Обычно имя файла модели шаблона должно совпадать с именем модели внутри файла . Поэтому, если шаблон называется _file.gson, шаблон должен быть:
model {
Map<String, Object> file <--- same name of the file
}
json {
size item?.size
}