Boa Tarde Otávio!
Rapaz eu já trabalho com session no vraptor eu estou me enrolando na seguinte situação:
tenho um input de busca. digito o código do produto ou o nome exato, ele vai jogar direto na sessao. porem so estou conseguindo jogar 1 item na sessao. vou passar o codigo:
produtoDao
//busca produto
public Produto existe(Produto produto) {
return em.createQuery("select p from Produto p where p.nome = :nome", Produto.class)
.setParameter("nome", produto.getNome())
.getSingleResult();
}
produtoController
@Post
public void setProdutoNaSession(Produto produto) {
Produto carregado = dao.existe(produto);
if (carregado == null){
validator.add(new I18nMessage("Login", "login.invalido"));
validator.onErrorUsePageOf(produtoController).listaProdutoParaRomaneio();
}
gradeRomaneio.setProduto(carregado);
result.redirectTo(ProdutoController.class).listaProdutoParaRomaneio();
}
romaneioSession
package br.com.inteligenteweb.grade.session;
import java.io.Serializable;
import javax.enterprise.context.SessionScoped;
import javax.inject.Named;
import br.com.inteligenteweb.grade.model.Produto;
import br.com.inteligenteweb.grade.model.Romaneio;
@SessionScoped
@Named
public class RomaneioSession implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
//private Romaneio romaneio;
private Produto produto;
public Produto getProduto() {
return produto;
}
public void setProduto(Produto produto) {
this.produto = produto;
}
public static long getSerialversionuid() {
return serialVersionUID;
}
}
nisso eu estou meio perdido, como jogar vários itens na session pelo imput de busca?
pelo método normal de buscar aparecer a lista e clicar no botão adicionar através do método abaixo funciona bem
public void adicionaItem(ItemRomaneio itemRomaneio) {
valorTotal = valorTotal
.add(itemRomaneio.getProduto().getValor());
itens.add(itemRomaneio);
}