我在会话Facade上创建一个方法,返回一个自定义实体集合。 我在本地界面发布它。 我将相应的数据控件迭代器绑定到ADF表。 运行时,显示“无数据显示”。 weblogic控制台中没有例外。
public List<Users> getCollection() {
List<Users> l = new ArrayList<Users>();
Users u = em.find(Users.class, new BigDecimal(999));
System.out.println(u.getName());
l.add(u);
return l;
}
当我通过另一种方法调用此方法时,绑定到ADF按钮, 一切都很好。 用户名将打印到weblogic控制台。
public int printCollectionSize() {
return getCollection().size();
}
当我从ADF表绑定一个从(自动生成)方法getUsersFindAll创建的数据控件迭代器时,一切都很好。
public List<Users> getUsersFindAll() {
return em.createNamedQuery("Users.findAll").getResultList();
}
我完全迷失了。我的方法永远不会被数据绑定系统执行吗?这有什么问题?
答案 0 :(得分:0)
在ADF中,JSP页面中的所有代码和绑定都是ADF开始自动生成代码以在JSP和辅助bean之间进行链接时使用的属性值。首先,我不确定(尽管我不是专家),您是否可以轻松地将ADF组件绑定到任何集合。
最好的选择是找到一种方法来尽早调用方法,以确保集合已初始化,然后刷新表。也许使用完全刷新的命令按钮,这样您就不必担心任何PPR怪异。