2013-07-05 51 views
0

我很难理解如何检索页面中的信息,而不是整个事物。我目前的应用程序有一个数据库,一个服务器/服务和一个前端GUI客户端应用程序。服务器客户端应用程序中的Springdata分页

后端(服务)看起来是这样的:

IOrdheadService.java

public interface IOrdheadService { 

@GET 
@Path("/ordheads") 
@Produces("application/json") 
List<Ordhead> getOrdheadList(); 

@GET 
@Path("/ordhead/{id}") 
@Produces("application/json") 
Ordhead getOrdhead(@PathParam("id") String id); 

OrdheadService.java

@Service 
@Path("ordheadservice") 
public class OrdheadService implements IOrdheadService { 

@Autowired 
private OrdheadRepository ordheadRepository; 
@Autowired 
private IPrimaryKeyGenerator primaryKeyGenerator; 

@Override 
public List<Ordhead> getOrdheadList() { 
    return ordheadRepository.findAll(); 
} 

@Override 
public Ordhead getOrdhead(@QueryParam("id") String id) { 
    return ordheadRepository.findByPrimaryKey(id); 
} 

OrdheadRepository.java

public interface OrdheadRepository extends JpaRepository<Ordhead, String> { 

Ordhead findByPrimaryKey(String id); 
} 

和TH e客户端收到这样的信息:

private List<Ordhead> resultList; 
    resultList = client.getOrdheadList(); 

然后我遍历resultList使用| < < < >> >> |屏幕上的按钮。

试图复制与网页这个功能,我想在我的OrdheadService

PageRequest page1 = new PageRequest(
      0, 20, Direction.ASC, "primaryKey"); 
      Pageable p = new PageRequest(0, 20); 
    return ordheadRepository.findAll(page1).getContent(); 

其运作如下 - 返回前20个结果。但是,我需要客户知道有多少页面。这样,如果有40条记录,客户端是记录20,按>>按钮将获得未来20个记录和移动客户端记录21

我曾尝试阅读以下链接:

https://github.com/SpringSource/spring-data-rest/wiki/Paging-and-Sorting http://blog.fawnanddoug.com/2012/05/pagination-with-spring-mvc-spring-data.html

但还没有想出如何正确实施它。

任何帮助表示赞赏。

谢谢

回答

1

ordheadRepository.findAll(page1)返回Page<Ordhead>包含与页面内容一起所有必要的信息。

+0

我没有机会测试它(实际运行代码),但是现在只需查看javadoc并将我的行更改为'PageRequest(...)' - 似乎给我所有我需要的方法来获得功能。谢谢! –

相关问题