Я делаю веб-приложение с Grails.У меня есть список с данными, которые должны быть включены в JavaScript для выполнения некоторой динамической загрузки в <select>
раскрывающемся списке.По сути, я получаю двухуровневый список с сервера, затем первый уровень отображается в выпадающем списке.Когда пользователь выбирает параметр, список, связанный с этим параметром, отображается в другом раскрывающемся списке.
(упрощенный) код на странице 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 напечатать список массивов с кавычками или любой другой простой способ добиться этого?
PD: я могу сделать определенную функцию для ее достижения, но я думаю, что это должен быть простой способ сделать это ...
РЕДАКТИРОВАТЬ: Я добавил полную структуру данныхнемного сложнее, чем простой список