Recebendo um ArrayList no construtor de um metodo com Vraptor
9 respostas
janjan
Bom dia pessoal, bem como o titulo diz
tem como eu Receber a uma lista qualquer em um método que acesso da minha página.
pergunto por que só tenho duvida quanto a isso, quero implementar algo do tipo carrinho de compras
e guargando os itens…
ou talvez seria melhor criar um bean de sessão pra isso e salvar lá dentro?
se sim, passar ele direto para o método ou preciso passar para o construtor e pegar ele no método depois!!
como acham mais bonito, e facil de dar manutanção depois?
Poisé, é algo similar a um carrinho, vamos supor, uma tela de cadastro de nota e vou adicionando os itens…
não queria ter que por na sessao, pois vai que o cara sai da tela de cadastro e fica tudo na sessão…
Mas como posso passar a lista por parametro, entao vou fazer assim.
tinha pensado em fazer com ajax essa de adicionar os itens da nota, mas levo uma surra sempre de ajax,
até faço, mas demoro muito,
então vou fazer assim no request mesmo…
valeu pela dica!! abraços!
renanreismartins
vc pode fazer por ajax nao influencia em nada, eh soh enviar apenas um item
public void adiciona(List<Item> itens, Produto produto){
detalhe, até eu começar a testar a lista o bean de produto estava 100%, vindo normal.
mas quando fui usar a lista ela vem nula sempre, o bean vem como preciso
mas a lista de itens me quebra…
tentei não usar na sessao,
estou usando tudo com submit, mando tudo e recebo tudo sempre
vou melhorar isso mais pra frente…
mas a ideia agora é fazer bombar, e melhorar mais tarde…
e nao funciona, acontece o mesmo stacktrace que coloquei ai em cima!
Lucas_Cavalcanti
coloca como primeira linha do método:
validator.onErrorForwardTo(this).formulario();
ou coisa do tipo, e imprima a variavel ${errors} no jsp
janjan
consegui passar os valores da lista por parametros, mas a lista com mais de 1 item tava dando erro na conversão de uma data…
mas se eu tentava de novo ele listava e adicionava corretamente,
mas dai era 1 erro e 1 acerto…
fiquei me encomodando com isso e coloquei na sessao o bean, resolvi o problema temporariamente!!
quando tiver um tempo pra melhorar, mudo isso e faço com ajax!
valeu a dica ai Lucas!