Jsf datagrid Primefaces中的分页

Jsf datagrid Primefaces中的分页,jsf,primefaces,Jsf,Primefaces,我正试图将一个参数传递的属于Marca(品牌)的产品放入数据网格 但是当我改变页面时,它不会进行相对分页,而是显示一个空页面 这是标准输出的一部分: 14:43:49805信息[stdout](默认任务-1)其中 14:43:49805信息[stdout](默认任务-1)prodotto0\u0.marca\u idmarca= 14:43:49805信息[stdout](默认任务-1)和prodotto0_u.Category_uidcategory=category1_uu.idcatego

我正试图将一个参数传递的属于Marca(品牌)的产品放入数据网格 但是当我改变页面时,它不会进行相对分页,而是显示一个空页面

这是标准输出的一部分:

14:43:49805信息[stdout](默认任务-1)其中

14:43:49805信息[stdout](默认任务-1)prodotto0\u0.marca\u idmarca=

14:43:49805信息[stdout](默认任务-1)和prodotto0_u.Category_uidcategory=category1_uu.idcategory

我不明白为什么 我希望有人能解释我做错了什么

<ui:define name="content">
    <c:set var="brandid" value="#{marcaController.findbyId()}" scope="request"/>

    <div class="product card">
    
      <h:form id="form">
        <p:dataGrid var="product" value="#{prodottoController.finbyMarca(brandid.idmarca)}}" multiViewState="true" columns="3" layout="grid"
                    rows="12" paginator="true" id="cards"
                    paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                    rowsPerPageTemplate="6,12,16">

            <div class="product-grid-item card" style="margin-bottom: 0">
                <div class="product-grid-item-top">
                    <div>
                        <i class="pi pi-tag product-category-icon"/>
                        
                    </div>
                    
                </div>
                <div class="product-grid-item-content">
                    <h:graphicImage value="#{product.immagine}" style="width:240px;height:260px" />
                    <div class="product-name">#{product.nome}</div>
                    <div class="product-description">#{product.descrizione}</div>
                    
                </div>
                <div class="product-grid-item-bottom">
                <h:outputText value="#{product.prezzo}" styleClass="product-priceline">
                        <f:convertNumber currencySymbol="€" type="currency"/>
                    </h:outputText> 
                </div>
            </div>

        </p:dataGrid>
           </h:form>
    
         </div>
    </ui:define>
在生产控制器中


public Marca findbyId(){
        Integer id = extractId("brandid");
        
        return marcaDao.findById(id);
    }
    
    public Integer extractId(String idVar) {
          HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance()
                                                                        .getExternalContext()
                                                                        .getRequest();
          String brandId = request.getParameter(idVar);
          if(brandId==null) { return marcaDao.listAll(1,2).get(0).getIdmarca();}
          return Integer.parseInt(brandId);
      }
    @EJB
    private ProdottoDao ejbProdotto;
public List<Prodotto> finbyMarca(Integer idMarca){
        return ejbProdotto.findByMarca(idMarca);
    }
@EJB
私人生产商ejbProdotto;
公共列表finbyMarca(整数idMarca){
返回ejbProdotto.findByMarca(idMarca);
}
在普罗多托

public List<Prodotto> findByMarca(Integer idMarca){
    
    TypedQuery <Prodotto>listProductByMarca=em.createQuery("SELECT DISTINCT p FROM Prodotto p   LEFT JOIN FETCH p.category t WHERE p.marca.idmarca =:idMarca  AND p.category.idcategory=t.idcategory", Prodotto.class);
    listMarca.setParameter("idMarca", idMarca);
    return listProductByMarca.getResultList();



}
公共列表findByMarca(整数idMarca){
TypedQuery listProductByMarca=em.createQuery(“从Prodotto p中选择不同的p左连接获取p.category t,其中p.marca.idmarca=:idmarca和p.category.idcategory=t.idcategory”,Prodotto.class);
setParameter(“idMarca”,idMarca);
返回listProductByMarca.getResultList();
}