java - 如何使用外观方法将实体转换为列表
问题描述
我正在尝试使用“listarEntregaKitRegistro”方法从该列表中添加和删除对象,但是应该显示列表的.xhtml 不会在屏幕上显示任何内容。
Kit 是我数据库中的一个实体类,kitFacade 是允许您在这种情况下获取有关某些实体的列表 kit 的方法,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)
解决方案
我不知道你要投射Kit
到哪里List
。但你做错了字符串比较。可能在您将对象转换为列表的其他功能中。这是经过一些修改的代码。
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;
}
推荐阅读
- c# - 如何将二元运算符分配给委托
- java - 更新后 android studio 错误未显示且建议未出现在 xml 文件中
- omnet++ - 如何从 inet 无线电模型获取 omnet++ 上的信号强度 (RSSI)?
- python - 熊猫只从单元格返回值
- java - 是否可以覆盖被覆盖方法的参数类型?
- javascript - 如何使用 html5 截取网页截图,而不通过 JS 在画布上渲染
- python - 如何使用请求/pandas 使用 python 提取表
- regex - 需要一个正则表达式来识别字符串“主机名 abc_pqr_xyz”(这三个词可以是任何东西)
- kubernetes - 卷已由 pod 附加
- node.js - 使用端点 nodejs 连接 aws redis 并获取数据