Dúvida JSF

2 respostas
D

Estou utilizando o seguinte método para listar as categorias do meu site:

CategoriaController

public List<Categoria> getListar() {  
       if (categorias == null) {  
          Session session = HibernateUtil.getSessionFactory().openSession();  
          HibernateInterfaceDAO<Categoria> dao = new CategoriaDAO(session);  
          categorias = dao.listar();  
       }  
       return categorias;  
    }

Tenho também um método para listar os produtos de uma determinada categoria:

ProdutoController

public List<Produto> getListarPorCodigo(Categoria cat) {  
       if (produtos == null) {  
          Session session = HibernateUtil.getSessionFactory().openSession();  
          HibernateInterfaceDAO<Produto> dao = new ProdutoDAO(session);  
          produtos = dao.listarPorCodigo(cat.getCodigo());  
       }  
       return produtos;  
    }

Até aqui tudo bem. O problema é que para cada categoria listada, eu queria mostrar alguns produtos dessa categoria. A página jsp que mostra as categorias é a seguinte:

e na minha página jsp

<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>  
 <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>  
 <f:view>  
 <h:dataTable width="630" value="#{categoriaController.listar}" var="categorias"   
                 cellpadding="0" cellspacing="0" border="0">  
          <h:column>  
 <h:outputText value="#{categorias.nome}" />  
   
 .....aqui vai os principais produtos da categoria  
   
 </h:column>  
       </h:dataTable>  
 </f:view>

2 Respostas

thiago.correa

Você teria que fazer uma requisição ajax para mostrar os produtos a partir da categoria escolhida, dê uma olhada no richfaces, em especial no ajax4jsf

wolmirGarbin

É isso mesmo que o thiago falou, vc esta usando jsf ou vraptor?
Bom seja como for, se eu entendi certo, vc pode criar dentro da classe Categoria um list de produto ou seja List list, assim vc poderia adicionar usando criteria ou na mão mesmo uma lista referente a aquela categoria dos primeiros ou principais produtos…

o seu jsp ficaria mais ou menos assim:

<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>  
 <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>  
 <f:view>  
 <h:dataTable width="630" value="#{categoriaController.listar}" var="categorias"   
                 cellpadding="0" cellspacing="0" border="0">  
          <h:column>  
         <h:outputText value="#{categorias.nome}" />  
   
         .....aqui vai os principais produtos da categoria  
   
         </h:column>  
         <h:column>  
   
          <h:dataTable width="630" value="#{categorias.listDeProduto}"" var="produto"   
                 cellpadding="0" cellspacing="0" border="0">  
                <h:column>  
                    <h:outputText value="#{produto.nome}" />  
                </h:column>  
       </h:dataTable>  
   
         </h:column>   
       </h:dataTable>  
 </f:view>

nunca fiz isto mas pode ser uma alternativa, acho que vale a pena tentar valeu!
Wolmir Garbin

Criado 5 de setembro de 2010
Ultima resposta 8 de set. de 2010
Respostas 2
Participantes 3