2
respostas

Busca jogar direto na session

Boa noite Pessoal!

To desenvolvendo um sistema em vraptor e jpa. tenho uma tela na qual busco pelo nome ou referencia do produto, no resultado da busca, basta clicar em adicionar que é inserido na session e assim até montar o romaneio. porem quero agilizar esse processo, no campo busca por referencia, ao buscar, invés de listar o resultado da busca, será lançará direto na session.

mais não to conseguindo imaginar como fazer isso.

Alguém poderia me dar uma sugestão para eu começar a tentar.

2 respostas

Oi Rafael, tudo bem?

Para lançar na session você vai precisar fazer algo como:

Session session = request.getSession();
session.setAttribute(“user_id”, user.getId());

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);
    }