簡體   English   中英

如何使用Facade方法將實體轉換為列表

[英]How to cast an entity to a list using facade method

我正在嘗試使用方法“ listarEntregaKitRegistro”從該列表添加和刪除對象,但是假定顯示該列表的.xhtml不會在屏幕上顯示任何內容。

Kit是我數據庫中的一個實體類,kitFacade是一種允許您在此案例工具包中獲取有關某個實體的列表的方法,kitFacade也由netbeans作為實體類中的會話bean生成,實際上kitFacade.findAll()運行良好並從該列表中檢索所有元素,但我需要獲得一些例外。

public List<Kit> listarEntregaKitRegistro(){
 for (int i=0; i<=kitFacade.findAll().size(); i=i+1){    
    if (kit.getEstadoKit()=="Activo"){
        kitFacade.findAll().add(i, kit);
        }
    else {
          kitFacade.findAll().remove(i);
          }
    }
    return kitFacade.findAll();
}

Glassfish服務器4.1.1引發的異常:

Caused by: java.lang.ClassCastException: com.entity.Kit cannot be cast to 
java.util.List
at com.controller.KitController.paraEntregar(KitController.java:26)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at javax.el.ELUtil.invokeMethod(ELUtil.java:332)

余did't知道你在哪里鑄造KitList 但是您做錯了字符串比較。 可能在其他功能中,您正在將對象投射到列表中。 這是經過一些修改的代碼。

public List<Kit> listarEntregaKitRegistro(){
 List<Kit> list = kitFacade.findAll();
 for (int i=0; i<=list.size(); i++){    
    if (kit.getEstadoKit().equals("Activo")){ // compare String by Equals method
       list.add(i, kit);
     }else{
      list.remove(i);
       }
    }
    return list;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM