我在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']"/>
任何建议都将不胜感激。
答案 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}"