从JSON数组读入Grails HTML Select标记

时间:2015-06-29 16:47:56

标签: html json grails

我在gsp上使用Grails select标签。当我调用后端来填充这个人时,值会像JSON数组那样出现..

[{"id":1,"display_name":"Sarah's Site"},
 {"id":2,"display_name":"Gisele's Site"},
 {"id":3,"display_name":"Mariam's Site"}
 ]

所以我基本上想要将id列表提供给标签的keys属性,将display_name列表提供给from属性。这样用户就可以看到一个显示名称列表,当他们选择一个时,会将id传递给控制器​​。

不确定如何做到这一点,这是我现在正在盯着的代码......

<g:select id="siteId" name="siteId" from="${siteNameList}" keys="${siteNameList}" noSelection="['':'Any']"/>

任何建议都将不胜感激。

1 个答案:

答案 0 :(得分:0)

好的,我明白了。我从JSON数组(结果)中提取了两个列表,并将其传递给GSP视图,如此...

    def keys = [];
    def values = []

    results.each {
      keys.add(it.get("id"))
        values.add(it.get("display_name"))
    }
 render(view: "main", model:[siteNameKeys:keys, siteNameValues:values])

然后我将这些列表传递给select标签的from和keys属性。

<g:select id="siteId" name="siteId" from="${siteNameValues}" keys="${siteNameKeys}"