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

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

概述我正在用Grails制作一个Web应用程序.我有一个列表,其中包含必须包含在JavaScript中的数据,以便在< select>上执行一些动态加载下拉列表中.基本上,我从服务器获得一个两级列表,然后第一级显示在一个下拉框中.当用户选择一个选项时,与该选项关联的列表将显示在另一个下拉框中. JavaScript函数的gsp页面上的(简化)代码如下 function selecTipe() { 我正在用Grails制作一个Web应用程序.我有一个列表,其中包含必须包含在JavaScript中的数据,以便在< select>上执行一些动态加载下拉列表中.基本上,我从服务器获得一个两级列表,然后第一级显示在一个下拉框中.当用户选择一个选项时,与该选项关联的列表将显示在另一个下拉框中.

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

function selecTipe() {        var types = ${typeList}        alert('List of types ' + types )

问题是,如果将typeList定义为(在Groovy中)为

typeList = [['TYPE1',['VAR1','VAR2','VAR3']],['TYPE2','VAR3']]            ['TYPE3','VAR3']] ]

当页面重新定义时,JavaScript代码显示为

function selecTipe() {        var types = [[ TYPE1,[ VAR1,VAR2,VAR3 ]],[ TYPE2,VAR3 ]]                     [ TYPE3,VAR3 ]] ]        alert('List of types ' + types )

这是错误的,因为JavaScript不是作为字符串处理,而是因为缺少引号而作为引用.

有没有办法强制Groovy打印带引号的数组列表或任何其他简单的方法来实现这一目标?

PD:我可以做一个特定的功能来实现它,但我认为这应该是一个简单的方法…

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

解决方法 在grails控制器的 *** 作中尝试这个:

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

以上是内存溢出为你收集整理的正确地将Groovy列表传递给GSP中的Javascript代码全部内容,希望文章能够帮你解决正确地将Groovy列表传递给GSP中的Javascript代码所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1246285.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-07
下一篇2022-06-07

发表评论

登录后才能评论

评论列表(0条)

    保存