Olá pessoal , estou com problemas em manter o estado anterior ( checkbox checados na paginação anterior) da paginação usando o displaytag junto com struts , já pesquisei e ainda não achei nenhuma solução para o problema, pelo q percebi o display tag gera a uri realizando a paginação via GET , assim sendo não consigo pegar os itens checados na minha action , alguém conhece alguma solução para mater os itens checados a cada interação ?
Deste de já Muito obrigado !
:lol:
posta ai o codigo da pagina, action…
Segue o codigo do display tag :
<display:table name="form.feriados" export="false" class="comBordaSimples"
id="row" width="650" pagesize="10" requestURI="/calendario/mantercalendario/listarCalendario.do">
<logic:present role="APOIO_manterCalendario">
<display:column title="Todos" width="30">
<html:checkbox property="ids"></html:checkbox>
</display:column>
..
Action
public ActionForward listarCalendario(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
ManterCalendarioForm calendarioForm = (ManterCalendarioForm) form;
calendarioForm.setFeriados(consultarFeriados(calendarioForm));
return mapping.findForward("listar.calendario.ano");
}
meu velho…isso ta meio diferente do meu aqui…o meu funciona na boa…
mas ao inves de acessar a lista pelo form eu acesso pelo request…
talvez seja por isso, e pra te falar a verdade é dificil V alkguem q faça asssim como vc ta fazendo geralmente fazem assim
request.setAtributte("lista",listadeObjetos);
//e na jsp pegam a "lista"
acho que fazendo assim vc tira esse problema, mas mesmo assim vou procurar aqui na maquina, e postar pra vc o codigo…mas enquanto isso testa ai dessa maneira
Amigo abelgomes ,
A lista esta sendo apresentada e a paginação esta sendo feita corretamente, não ocorre nenhum erro enquanto a isso
o que acontece é, quando eu checo por exemplo 3 itens da minha lista ‘1’ e vou paginando para …2,3. quando eu clico em retorna os itens que chequei
anteriormente estão se perdendo( o status dos objetos checkbox não esta sendo mantido, nem são enviados para o form da Action ) , mas se por exemplo eu submeter a pagina ( isso no botão excluir por exemplo ) fora das tags do displaytag os itens checados são enviados corretamente para o form ! Ou seja o display tag não esta submetendo a pagina de forma q os itens selecionados sejam transportados para action ( para q eu mesmo possa fazer esse controle a cada interação).
Vou ressucitar este topico pois estou tendo exatamente o msm problema, será que o foco desse Displaytag é somente em pagina corrente…
Você consegui resolver esse problema, alguem tem alguma solução aee …
vlewwww
É, eu tb vou ressucitar este tópico, mas pra responder à dúvida, ao invés de pedir por uma solução :lol:
Pelo que eu já mexi na displaytag (questão de 1 ano atrás), eu tinha problemas, ao usar a display:table com ou sem ajax, eu havia resolvido da seguinte forma:
Encapsule cada item da lista exibida na display:table em uma classe a parte, para ter um campo booleano que diga que aquele item foi “checado”
public class ItemGrid<T extends Object> {
private Boolean checado;
private T entity
....
}
Agora que vc tem uma lista de ItemGrid, pra todas as vezes em que você efetuar a paginação, faça da seguinte forma:
- Envie os itens checados pra sua action
- Consulte seus dados, como vc fazia antes, mas agora encapsule cada item retornado da consulta num ItemGrid
- Veja quais items dessa consulta que você retornou bate com os itens que vc selecionou e marque-os de novo
Eu acho que era algo mais ou menos assim… Já faz um tempinho E tem um porém: isso só funcionava pra mim pq eu trazia todos os registros da consulta, ou seja, a paginação era feita diretamente pela displaytag, e não pelos meus DAOs.
A grande maioria dos sistemas que eu vejo até hoje não tem esse requisito de manter o estado do checkbox entre paginações…