2013-06-25 7 views
6

Faccio una richiesta AJAX dal front-end mt con array come parametro. Esempio di array:Groovy Grails gestisce i parametri del controller

arr = [13, 56, 43] 

Quando nel controllore Grails stampo params ottengo arr[]:[13, 56, 43]. Tuttavia, quando nell'array front-end è costituito da un solo elemento (arr = [25], ad esempio), nel controller ottengo arr[]:32. Tuttavia, ho bisogno che il parametro sia la lista, come arr[]:[32]. Come lo posso fare?

+0

Questo il trucco 'Lista myParam = params.list ('myParams')' invece di chiedere se il param è l'istanza di lista o no. – IgniteCoders

risposta

8

Nel controllore è possibile utilizzare

params.list('arr[]') 

questo sarà sempre restituirà un elenco, con zero, uno o più di un elemento, a differenza della base

params.'arr[]' 

che vi dà null se ci non sono i valori dei parametri arr[], il valore singolo se ce n'è uno e un elenco se ne esiste più di uno.

0

Penso che nel controller è possibile utilizzare

List arr = [] 

arr = params.list 

o

def arr 
arr = params.list as List