Filtrar objetos recebidos na lista de parametros
27/12/2012 00:08
0
Boa noite,

É uma dúvida acho que simples.

Estou recebendo de uma gsp um formulário com varios campos com nomes diferentes...

Como eu filtro que eu quero todos os parametros que "começam com 'resposta'

Achei isso, mas quando tentei aplicar minha lista ficou nula...

[code]
// binds request parameters to a target object
bindData(target, params)
// exclude firstName and lastName
bindData(target, params, [exclude: ['firstName', 'lastName']])

// only use parameters starting with "author." e.g. author.email
bindData(target, params, "author")
bindData(target, params, [exclude: ['firstName', 'lastName']], "author")

// using inclusive map
bindData(target, params, [include: ['firstName', 'lastName']], "author")
[codo]


Como eu achei que estivesse fazendo alguma besteira,
fiz um outro teste e a lista ficou nula também
[code]
def acao = {
def teste = []
bindData(teste , params)
println "olha >> ${teste}"
}
[/
Tags: binddata params filtrar params novato


1
Consegui fazer desse jeito:


params.findAll {k,v -> k.contains("padraoNameForm")}.each { k,v ->
minhaLista+= v
}

27/12/2012 14:15


2
Olá, Rafael,

se eu entendi o que você quer (campos que começam com "resposta"), poderia fazer assim:

def camposQquero = params.findAll{it.key.startsWith('resposta')}


Veja se funciona pra você.

Abraços.


0
José Yoshiriro,

Era isso mesmo o que eu precisava!

Sua solução ainda é mais elegante do que a que consegui fazer.

Meu post da dúvida ficou ficou meio desconexo.

Muito obrigado, mais uma vez, pela contribuição!

Abs!
27/12/2012 18:57



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto