entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

JSF Novedades productosFacade

Buenas tardes a todos, me he visto con un problema mientras desarrollaba la web, y bueno, mi problema es que, en el menú que tengo en la web, hay una sección para mostrar las novedades y como tal, hice una tabla de productos, que a través de un id_familia saco las novedades, como por ejemplo, el id 1 para novedades y todos los productos con ese id, se muestran en la web. Pues bueno, hice una entity, una facade de ésta donde tengo la función "novedades", que es donde mediante productos.findallbyidFamilia, consigo tal fin, el problema me reside mas tarde en el controller de éste, que intento hacer un novedades = getFacade().Novedades(); y no me funciona. Os adjunto las capturas.

produtosController

package Controller.beans;

import javax.inject.Named;
import javax.enterprise.context.SessionScoped;
import java.io.Serializable;
import java.util.List;
import javax.ejb.EJB;
import model.entity.Productos;
import model.entity.facades.ProductosFacade;

@Named(value = "productosController")
@SessionScoped
public class ProductosController implements Serializable {

    @EJB
    private ProductosFacade ejbFacade;
    private List<Productos> items = null;
    private List<ProductosFacade> novedades = null;
    private Productos selected;

    /**
     *
     */
    public List<Productos> getItems() {
        if (items == null) {
            items = getFacade().findAll();
        }
        return items;
    }

    public List<Productos> getNovedades(){
        if (novedades == null) {
            novedades = getFacade().Novedades();
        }
        return novedades;
    }
}

productosFacade

package model.entity.facades;

import model.entity.Productos;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.TypedQuery;
import model.entity.Users;

/**
 *
 * @author pepe
 */
@Stateless
public class ProductosFacade extends AbstractFacade<Productos>{

    @PersistenceContext(unitName = "WebApplication1PU")
    private EntityManager em;

    @Override
    protected EntityManager getEntityManager() {
        return em;
    }
    /**
     * Creates a new instance of Productos
     */
    public ProductosFacade() {
        super(Productos.class);
    }

    public Productos Novedades() {
        Productos productos = null;
        TypedQuery<Productos> query = getEntityManager().createNamedQuery("Productos.findByIdFamilia", Productos.class);
        query.setParameter("idFamilia", "1");
        List<Productos> productosNovedades = query.getResultList();
        for (int i=0; i<productosNovedades.size();i++){
            productos = productosNovedades.get(i);
        }
        return productos;
    }

}

esta es la parte donde se muestran los objetos

<ui:composition template="/layout.xhtml" xmlns="http://www.w3.org/1999/xhtml" xmlns:f="http://java.sun.com/jsf/core"
     xmlns:h="http://java.sun.com/jsf/html" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:p="http://primefaces.org/ui">
     <ui:define name="content">
         <h2>Novedades</h2>
         <p:dataGrid value="#{productosController.novedades}" var="nov" columns="3">
             <p:graphicImage value="#{nov.imagen}" />
         </p:dataGrid>
      <p />  
       <font color="RED">
           Contenido de novedades
       </font>
       <p />
     </ui:define>
</ui:composition>

¿Alguna idea?

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta