Passar array de id para o vRaptor  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
danieldestro
Moderador
[Avatar]

Membro desde: 04/09/2002 17:26:16
Mensagens: 6667
Localização: São Paulo / Catanduva
Offline

Pelo que li eu poderia submeter vários campos do formulário com mesmo nome que o vRaptor trata como um array no método do controller. Exemplo:





Acontece que, quando submeto isto, o argumento é nulo. Se coloco índice no "name" do campo dá IndexOutOfBoundException.

Se mudo o argumento para um List<Long>, e uso o índice nos campos, ai funciona.





Qual deve ser o problema? Onde estou errando?

gotjava?
Doe sangue
What You See Is What You Get!
Apostilas de Java grátis!
RefsCALL - Bandeira Eletrônica para Árbitro de Futebol
[WWW]
bruno.costa
JavaTeenager
[Avatar]

Membro desde: 18/08/2010 14:40:13
Mensagens: 151
Offline

tenta isso


Links
https://github.com/brunoadacosta

http://twitter.com/brunoadacosta

brunoadacosta@gmail.com

http://hungroo.com - Você nunca mais pedirá comida por telefone.
danieldestro
Moderador
[Avatar]

Membro desde: 04/09/2002 17:26:16
Mensagens: 6667
Localização: São Paulo / Catanduva
Offline



Se o método receber um long[ ].

This message was edited 1 time. Last update was at 24/12/2010 14:03:27


gotjava?
Doe sangue
What You See Is What You Get!
Apostilas de Java grátis!
RefsCALL - Bandeira Eletrônica para Árbitro de Futebol
[WWW]
Lucas Cavalcanti
GUJ Hacker
[Avatar]

Membro desde: 08/07/2007 00:08:14
Mensagens: 6396
Offline

tem algum motivo forte pra usar array ao inves de List?

usar id[0], id[1], etc e long[] deveria funcionar sem problemas

--
Caelum
www.caelum.com.br

danieldestro
Moderador
[Avatar]

Membro desde: 04/09/2002 17:26:16
Mensagens: 6667
Localização: São Paulo / Catanduva
Offline

O motivo forte é que o framework diz suportar.

gotjava?
Doe sangue
What You See Is What You Get!
Apostilas de Java grátis!
RefsCALL - Bandeira Eletrônica para Árbitro de Futebol
[WWW]
Lucas Cavalcanti
GUJ Hacker
[Avatar]

Membro desde: 08/07/2007 00:08:14
Mensagens: 6396
Offline

e suporta, se vc usar direito

usando os indices e long[] funciona (o array vai ser nulo se vc não selecionar nenhum)


se tanto faz um List ou um array, use List

--
Caelum
www.caelum.com.br

danieldestro
Moderador
[Avatar]

Membro desde: 04/09/2002 17:26:16
Mensagens: 6667
Localização: São Paulo / Catanduva
Offline

Provavelmente vocês atualizaram a documentação, mas havia um trecho que orientava a fazer da maneira que fiz com array e usando índica para listas.

gotjava?
Doe sangue
What You See Is What You Get!
Apostilas de Java grátis!
RefsCALL - Bandeira Eletrônica para Árbitro de Futebol
[WWW]
danieldestro
Moderador
[Avatar]

Membro desde: 04/09/2002 17:26:16
Mensagens: 6667
Localização: São Paulo / Catanduva
Offline

My bad! Na verdade eu tinha visto aqui: http://www.wbotelhos.com.br/2010/12/06/manipulando-listas-com-jquery-e-vraptor-3/

Pelo que falei com o autor, ele explicou que só funciona com array de String e não com array de long, int etc.

gotjava?
Doe sangue
What You See Is What You Get!
Apostilas de Java grátis!
RefsCALL - Bandeira Eletrônica para Árbitro de Futebol
[WWW]
Lucas Cavalcanti
GUJ Hacker
[Avatar]

Membro desde: 08/07/2007 00:08:14
Mensagens: 6396
Offline

talvez seja um problema com primitivos... se usar Long[] pode ser que resolva...

quer abrir um bug para ver isso?
http://github.com/caelum/vraptor/issues

--
Caelum
www.caelum.com.br

Sergio Lopes
Moderador
[Avatar]

Membro desde: 17/11/2003 00:22:10
Mensagens: 1368
Localização: São Paulo - SP
Offline

E uma feature que há muito desejo é não precisar passar os índices na hora de submeter o array. Tanto a primeira sugestão do Daniel quanto a do Bruno (igual PHP) serviriam. Ter que calcular esses índices no JQuery ao fazer um form dinâmico é um suplício...

Sérgio Lopes - twitter: @sergio_caelum - blog pessoal: sergiolopes.org
Curso Java | Apostilas Java | Arquitetura Java | Curso Rails
Lucas Cavalcanti
GUJ Hacker
[Avatar]

Membro desde: 08/07/2007 00:08:14
Mensagens: 6396
Offline

name="qqerCoisa[]" já funciona, Sergio... o VRaptor substitui pelos índices.

--
Caelum
www.caelum.com.br

Sergio Lopes
Moderador
[Avatar]

Membro desde: 17/11/2003 00:22:10
Mensagens: 1368
Localização: São Paulo - SP
Offline

Muito bom! Entendi aí de cima que não tava pronto ainda...

Sérgio Lopes - twitter: @sergio_caelum - blog pessoal: sergiolopes.org
Curso Java | Apostilas Java | Arquitetura Java | Curso Rails
Lucas Cavalcanti
GUJ Hacker
[Avatar]

Membro desde: 08/07/2007 00:08:14
Mensagens: 6396
Offline

talvez tenha algum bug qto a primitivos...

--
Caelum
www.caelum.com.br

danieldestro
Moderador
[Avatar]

Membro desde: 04/09/2002 17:26:16
Mensagens: 6667
Localização: São Paulo / Catanduva
Offline

Long[ ] id
ognl.OgnlException: id [br.com.caelum.vraptor.VRaptorException: Unable to find converter for [Ljava.lang.Long;]

long[ ] id
ognl.OgnlException: id [br.com.caelum.vraptor.VRaptorException: Unable to find converter for [J]

This message was edited 1 time. Last update was at 13/01/2011 18:54:57


gotjava?
Doe sangue
What You See Is What You Get!
Apostilas de Java grátis!
RefsCALL - Bandeira Eletrônica para Árbitro de Futebol
[WWW]
danieldestro
Moderador
[Avatar]

Membro desde: 04/09/2002 17:26:16
Mensagens: 6667
Localização: São Paulo / Catanduva
Offline

<input name="id[]" ..>


gotjava?
Doe sangue
What You See Is What You Get!
Apostilas de Java grátis!
RefsCALL - Bandeira Eletrônica para Árbitro de Futebol
[WWW]
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team