目前在我的应用程序中,我们正在使用GWT RequestFactory。我们有多个实体代理。几个查找器方法从服务层返回列表。由于我们在应用程序中使用分页,因此我们在列表中返回预配置的实体代理数量。我们还需要实体代理的总数,以便在我们发出单独请求的分页 UI 中显示。我们想创建一些包装器对象,它将列表和总记录计数封装在单个类中。因此,在单个请求中,我们可以同时获得列表和记录计数。使用请求工厂最好做什么?注意:我是GWT RequestFactory的初学者。
Umit 的回答非常正确。我只会添加一个抽象分页处理的层。当您拥有BasicTables和BasicLists通过同一接口PageProxy处理所有数据时,这很有用(例如,用于分页(
public interface PaginationInfo extends ValueProxy {
public int getTotalRecords();
//either have the manual page info
public int getPageNumber();
//or use the count API on GAE (returned by your db request as a web safe String)
public String getCount();
}
public interface PageProxy extends ValueProxy {
public PaginationInfo getPageInfo();
}
public interface MyEntityProxy extends EntityProxy {}
public interface MyEntityPageProxy extends PageProxy {
public List<MyEntityProxy> getEntities();
}
好吧,你可以按照这样的思路使用一些东西:
public interface MyEntityProxy extends EntityProxy {}
public interface MyEntityPageProxy extends ValueProxy {
public List<MyEntityProxy> getEntities();
public int getTotalRecords();
}
最好使用通用PageProxy
接口(即 MyEntityPageProxy<T extends EntityProxy>
( 但是由于此错误,这是不可能的,或者至少只能通过解决方法。
因此,对于您想要获得分页支持的每个EntityProxy
,您必须创建一个单独的PageProxy
界面。