Правильно передать Groovy список в код Javascript в GSP
я делаю веб-приложение с Grails. Я'у нас есть список с данными, которые должны быть включены в JavaScript для выполнения некоторой динамической загрузки раскрывающийся список. В основном яЯ получаю двухуровневый список с сервера, затем первый уровень отображается в выпадающем списке. Когда пользователь выбирает параметр, список, связанный с этим параметром, отображается в другом раскрывающемся списке.
(Упрощенный) код на странице gsp для функции JavaScript следующий
function selecTipe() {
var types = ${typeList}
alert('List of types ' + types )
Проблема в том, что если typeList определен (в Groovy) как
typeList = [['TYPE1', ['VAR1','VAR2','VAR3']],
['TYPE2', ['VAR1','VAR2','VAR3']]
['TYPE3', ['VAR1','VAR2','VAR3']] ]
когда страница обновляется, код JavaScript выглядит как
function selecTipe() {
var types = [[ TYPE1, [ VAR1, VAR2, VAR3 ]],
[ TYPE2, [ VAR1, VAR2, VAR3 ]]
[ TYPE3, [ VAR1, VAR2, VAR3 ]] ]
alert('List of types ' + types )
что является ошибочным, так как JavaScript воспринимается не как строки, а как ссылки из-за отсутствия кавычек.
Есть ли способ заставить Groovy напечатать список массивов с кавычками или любой другой простой способ добиться этого?
П.Д .: Я могу сделать определенную функцию для ее достижения, но я думаю, что это должен быть простой способ сделать это ...
РЕДАКТИРОВАТЬ: Ямы добавили полную структуру данных, так как она немного сложнее простого списка