标记"选择"在gsp

时间:2015-05-18 22:28:43

标签: grails gsp

如何在传递给select时在gsp中正确使用标记ArrayList<String>?我知道如何使用它我自己的组合对象,例如:

<g:select name="tablePlacesAvailable" from="${tableInfo}" optionValue="${{it.placesInTableAmount}}" optionKey="placesInTableAmount" value=""/>

但如何将其与built in对象一起使用,例如String

2 个答案:

答案 0 :(得分:1)

如果要将g:select与字符串列表

一起使用
<g:select name="selection" from="${values}" />

其中values是字符串的集合。我的控制器代码是

class DemoController {
    def index() { 
        [values: ["This", "is", "a", "test"]]
    }
}

答案 1 :(得分:1)

以下是一些测试及其结果: 控制器: 控制器:

 def index() {
        def myList=['hello','world']
        def myMap=['h':'hello','w':'world']
        render view: 'index', model: [myList:myList,myMap:myMap]
    }

GSP:

<g:form name="test" >
 <g:select name="s1" from="${['lastUpdated', 'id']}" value="${sortby}"  />
 <g:select  name="s2" from="${['lastUpdated', 'id']}"
  optionKey="value" optionValue="value"  value="${sortby}"  />

 <g:select name="g"  from="${['90%':'90%','100%': '100%']}" 
 optionKey="key" optionValue="value" value="${params.g}" />

 <g:select name="g2"  from="${myList}" />

 <g:select name="g3"  from="${myMap}" />

 <g:select name="g4"  from="${myMap}" optionKey="key" optionValue="value"/>
 <g:select name="g5"  from="${myMap}" optionKey="key" optionValue="key"/>
 <g:select name="g6"  from="${myMap}" optionKey="value" optionValue="value"/>

<g:submitButton name="go" value="post"/>
</g:form>

结果:

[g:100%, s2:lastUpdated, s1:id, g2:world, g6:world, g5:w, g4:w, 
go:post, g3:w=world, action:index, format:null, controller:test] 

正如你可以看到一个没有optionKey的Arraylist optionValue默认工作,在s2我也有物理上定义的键值是值,它仍然有效