Olá depois de uma pesquisa aqui no forum e na web, não achei nada a respeito sobre paginação com Vraptor sem ajax,
para ser utilizado por exemplo para listar notícias,
se alguém já fez algo semelhante ou sabe me indicar como fazer, e puder me ajudar fico feliz.
vc pode usar a displayTag pra isso.
Olá Lucas,
então posso fazer como se faz em jsp puro.
mas tenho que colocar resultado na sessão para controle ou não.
claro que pode…
vc pode usar qqer coisa que dá pra fazer em jsp…
se a lista for muito grande, vc precisa configurar o displaytag pra passar os parâmetros de número da página e tamanho dela…
tem vários tópicos aqui no guj sobre isso
É com display tag não cheguei ao resultado esperado pois pretendo utilizar a paginação em textos sem tabelas.
Gostaria de saber como manipular estes dados com vraptor.
[code]public Collection listByPage( int page, int rows) {
String sql = “from Entidade”;
int inicio = (page - 1) * rows;
Query query = manager.createQuery(sql);
query.setFirstResult(inicio);
query.setMaxResults(rows);
@SuppressWarnings(“unchecked”)
Collection resultList = query.getResultList();
return resultList;
}[/code]
isso é um método do controller? se sim, é só passar como parâmetros da requisição:
page=1
rows=30
ou algo do tipo
Olá Lucas gostaria de sua ajuda,
fiz a paginação comunicando com DAO e gerando a lista de acordo com pagina até ai blz,
mas acontece que no controller preciso receber o paramentro da pagina jsp com numero da pagina,
Este é controller que funciona mas sem “?”
@Get("/usuario/{page}")
public void listagem(int page, int rows) {
Não funciona sem “?”:
Este é controller
@Get("/usuario?pagina={page}")
public void listagem(int page, int rows) {
Agora só consigo passar número da pagina colocando /usuario?page mas para controller funcionar precisa /usuario/page=1 o jsp com jstl:
Como fazer para pegar este parametro da url e passar ele sem usar “?” ou existe alguma outra maneira de fazer isso ?
se vc quer passar como pagina, o nome do parâmetro tem que ser página:
@Get("/usuario")
public void listagem(int pagina, int rows) {
daí vc consegue passar:
<a href="${pageContext.request.contextPath}/usuario?pagina=${param.page + 1}">Proxima </a>
ou vc faz passando na uri:
@Get("/usuario/{page}")
public void listagem(int page, int rows) {
e na jsp:
<a href="${pageContext.request.contextPath}/usuario/${param.page + 1}">Proxima </a>
Oi Lucas,
Obrigado consegui resolver com sua ajuda;
[code]@Get("/usuario")
public void listagem(int page, int rows) {
Collection<Usuario> usuarioList = repository.listByPage(page,3);
int total = repository.countByFilter();
result
.include ("total", total)
.include("usuarioList", usuarioList);
}
[/code]