Dúvida com 'ActionMessages'

Olá pessoal,

Tenho uma classe que retorna uma coleção de registros. A quantidade de registros é exibida em meu formulário conforme a quantidade estipulada pelo usuário.

Por exemplo:
Um determinado termo é pesquisado e também é informado a quantidade de registros a ser exibido na tela.

Ao submeter as informações, essa minha classe retorna uma coleção de 50 registros, mas o usuário informou que o resultado será exibido de 10 em 10 registros.

Essa minha mesma classe usa um ‘ActionMessages’ que trata determinadas mensagens que são exibidas ao usuario. Até aí tudo bem. O que acontece é que a mesagem é exibida somente na primeira vez quando os 10 primeiros registros do exemplo acima são exibidos. A minha dificuldade é de continuar exibindo essas mesmas mensagens a medida que o usuário navega ao consultar os registros seguintes.

Alguém poderia dar alguma dica de como manter essas mensages na sessão e continuar exibindo-as a medida que o usuário navega?

Só uma pergunta… qual framework que você está usando para fazer a paginação?

:okok:

Caro Marcos,

Estou utilizando STRUTS 1.1.

Esse é meu código:

// Tratando mensagens.
 ActionMessages mensagem = new ActionMessages();
 mensagem.add(ActionMessages.GLOBAL_MESSAGE, 
                     new ActionMessage("texto.mensagem",msg));
 mensagem.add(ActionMessages.GLOBAL_MESSAGE,
                     new ActionMessage("texto.mensagem",value));
 saveMessages(request, mensagem);

Como pode perceber é dado um ‘saveMessages’ que lança apenas na requisição e aí eu não sei se existe alguma forma de lançar na Sessão. Já tentei colocar ’ scope=“session” ’ no struts-config.xml e de nada adiantou.

Continuo com a dúvida.

FOI MAU…

Não utilizo nenhum framework de paginação, apenas o struts.
Minha lógica é a seguinte:

  • tenho uma JSP que submete um determinado termo para pesquisa e a quantidade de registros a serem exibidos. Essa quantidade de registros pode variar entre 10 e 100.
  • a classe recebe essas informações e me retorna um vetor com os registros e carrega mensagens de sucesso para o usuário.
  • na tag <logic:iterate> da JSP que vai exibir o resultado, eu utilizo, além dos parâmetros requiridos, os parâmetros:
    length=“quant” - que é a quantidade definida pelo usuário (entre 10 e 100); e
    offset=“indice” - que é o índice que interage com os registros do vetor que encontram na sessão.
  • o que faz o índice variar é uma outra classezinha que soma e subtrai o seu valor.

Bem, o problema é que as mensagens só aparecem na 1ª vez que a página é exibida, pois o objeto que representa a mensagem está na requisição.

Consegui explicar +/- ?
Deu pra entender minha dúvida ?
Existe uma solução ?