正确地将Groovy列表传递给GSP中的Javascript代码

正确地将Groovy列表传递给GSP中的Javascript代码,javascript,grails,groovy,gsp,Javascript,Grails,Groovy,Gsp,我正在用Grails制作一个web应用程序。我有一个包含数据的列表,这些数据必须包含在JavaScript中,才能对下拉列表执行动态加载。基本上,我从服务器得到一个两级列表,然后第一级显示在一个下拉框中。当用户选择一个选项时,与该选项关联的列表将显示在另一个下拉框中 gsp页面上JavaScript函数的(简化)代码如下 function selecTipe() { var types = ${typeList} alert('List of types ' +

我正在用Grails制作一个web应用程序。我有一个包含数据的列表,这些数据必须包含在JavaScript中,才能对
下拉列表执行动态加载。基本上,我从服务器得到一个两级列表,然后第一级显示在一个下拉框中。当用户选择一个选项时,与该选项关联的列表将显示在另一个下拉框中

gsp页面上JavaScript函数的(简化)代码如下

function selecTipe() {
        var types = ${typeList}
        alert('List of types ' + types )
问题是,如果typeList(在Groovy中)定义为

当页面呈现时,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:我可以做一个特定的函数来实现它,但我认为这应该是一个简单的方法来做到这一点


编辑:我添加了完整的数据结构,这比简单的列表要复杂一些

在grails控制器的操作中尝试以下操作:

def types = ['TYPE1', 'TYPE2', 'TYPE3'] as grails.converters.JSON
[typeList : types]
def types = ['TYPE1', 'TYPE2', 'TYPE3'] as grails.converters.JSON
[typeList : types]