0

我在会话外观上创建了一个方法,该方法返回一个自定义实体集合。我在本地界面中发布它。我将相应的数据控件迭代器绑定到 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();
}

当我将一个从(自动生成的)getUsersFindAll 方法创建的数据控件迭代器绑定到 ADF 表时,一切都很好。

public List<Users> getUsersFindAll() {
    return em.createNamedQuery("Users.findAll").getResultList();
}

我完全迷路了。我的方法永远不会被数据绑定系统执行吗?它有什么问题?

4

1 回答 1

0

在 ADF 中,JSP 页面中的所有代码和绑定只是用于 ADF 的属性值,当它开始自动生成代码以链接 JSP 和支持 bean 时。因此,首先我不确定(尽管我不是专家)您是否可以轻松地将 ADF 组件绑定到任何集合。

最好的办法是找到一种方法来尽早直接调用方法,以确保集合已初始化,然后刷新表。也许使用完全刷新的命令按钮,这样您就不必担心任何 PPR 异常。

于 2011-10-07T18:39:06.297 回答