2015-05-18 1 views
0

Как правильно использовать тег select в gsp при переходе к нему ArrayList<String>? Я знаю, как использовать его это мои собственные объекты составленных, например:Тег «Выбрать» в gsp

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

Но как использовать его с built in объектов, как String?

+0

Можете ли вы опубликовать пример того, что вы пытаетесь сделать и что произошло когда вы попробовали? –

ответ

1

Если вы хотите использовать g:select со списком Строка

<g:select name="selection" from="${values}" /> 

values Где находится коллекция струнных инструментов. Мой код контроллера

class DemoController { 
    def index() { 
     [values: ["This", "is", "a", "test"]] 
    } 
} 
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] 

Как вы можете видеть Arraylist без опцииKey optionValue работает по умолчанию, в s2 у меня также физически определено значение ключа для значения, и оно все еще работает