嗨,我有以下問題,我有表中顯示公司的列表,我想用suach篩選該列表,用戶只能看到列表由他創建的公司。 繼承人的表jsf如何根據給定的ID篩選結果
<h:dataTable value="#{empresaController.items}" var="item" border="0" cellpadding="2" cellspacing="0" rowClasses="jsfcrud_odd_row,jsfcrud_even_row" rules="all" style="border:solid 1px">
<h:column>
<h:graphicImage rendered="#{not empty item.logo}"
value="/resources/images/#{item.logo}" styleClass="covers"/>
</h:column>
<h:column>
<h:graphicImage rendered="#{not empty item.imagen}"
value="/resources/images/#{item.imagen}" styleClass="covers"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="#{bundle.ListEmpresaTitle_nombre}"/>
</f:facet>
<h:outputText value="#{item.nombre}"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="#{bundle.ListEmpresaTitle_descripcion}"/>
</f:facet>
<h:outputText value="#{item.descripcion}"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="#{bundle.ListEmpresaTitle_rubroidRubro}"/>
</f:facet>
<h:outputText value="#{item.rubroidRubro.nombre}"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value=" "/>
</f:facet>
<h:commandLink action="#{empresaController.prepareView}" value="#{bundle.ListEmpresaViewLink}"/>
<h:outputText value=" "/>
<h:commandLink action="#{empresaController.prepareEdit}" value="#{bundle.ListEmpresaEditLink}"/>
<h:outputText value=" "/>
<h:commandLink action="#{empresaController.destroy}" value="#{bundle.ListEmpresaDestroyLink}"/>
</h:column>
</h:dataTable>
,這裏是我的控制器:
private FacesContext facesContext = FacesContext.getCurrentInstance();
private UsuarioController usuarioController = (UsuarioController) facesContext.getApplication().evaluateExpressionGet(facesContext, "#{usuarioController}", UsuarioController.class);
private EmpresaFacade getFacade() {
return ejbFacade;
}
public PaginationHelper getPagination() {
if (pagination == null) {
pagination = new PaginationHelper(10) {
@Override
public int getItemsCount() {
return getFacade().count();
}
@Override
public DataModel createPageDataModel() {
return new ListDataModel(getFacade().findRange(new int[]{getPageFirstItem(), getPageFirstItem() + getPageSize()}));
}
};
}
return pagination;
}
public SelectItem[] getItemsAvailableSelectMany() {
return JsfUtil.getSelectItems(ejbFacade.findAll(), false);
}
public SelectItem[] getItemsAvailableSelectOne() {
return JsfUtil.getSelectItems(ejbFacade.findAll(), true);
}
public SelectItem[] getItemsAvailableByUser() {
List<Empresa> empByUsuarios = new ArrayList<Empresa>();
for(Empresa emp: ejbFacade.findAll()){
if(emp.getUsuarioidUsuario().getIdUsuario()
== usuarioController.getSelected().getIdUsuario()){
empByUsuarios.add(emp);
}
}
return JsfUtil.getSelectItems(empByUsuarios, false);
}
如何調用getItemsAvailableByUser當用戶希望看到列表?
非常感謝您
嘗試用' '.. 。/>'。當用戶希望列表之間進行切換,嗯,這是一個託管bean,所以在設置屬性存在,並添加另一種方法,它返回(取決於從屬性)無論是一個或另一個列表。 –
@ L-Ray沒有關注你,你能否激動一下? –