JSF + session

Estou utilizando o tomahawk para mostrar um datatable e datascroller.
O bean referente a página está com session.

Meu dataScroller esta sendo executado por um ScrollerActionEvent.
Tenho um tela onde o usuário informa os dados e clica em pesquisar…
O resultado é o datable com a paginação que está funcionando apenas quando o limite de row é superado.
Quando saio da tela, vou para uma outra tela e retorno a página que foi feito a pesquisa, a mesma encontra-se aberta ( o certo seria está mostrando apenas os campos para pesquisa e não mais o resultado da pesquisa ).

Como faço para solucionar esta situação?

Ninguem…se habilita a dar um help???

Colega,
Isso ocorre porque o teu bean esta com escope de ‘session’, lá no Faces-Config.
O problema de mudar o escope de request é que talvez o teu componente não funcione como o esperado.

Espero ter ajudado.

e realmente é o que acontece !!! o que vc teria em mente para me ajudar
???

sim, isto acontece por que o bean esta com escopo de sessão, ou seja, a lista continua preenchida enquanto durar a sessão do usuário …

tenta fazer o seguinte:
muda o bean para escopo de request.
garanta que os objetos que serão listados na tabela são Serializable
sera a propriedade preserveDataModel do t:dataTable pra true :smiley:
deve funcionar :smiley:

Dessa continua funcionando: mas da seguinte forma.

quando clico no pesquisar ( action )
ele mostra a tabela com os dados com a paginação.
depois eu clico em algum numero da paginação e some os dados
da tabela. mostrando apenas os botões e o meio da paginação em branco.
O metodo que estou utilizando para pegar o evento (actionlisteners)

public void scrollerAction(ActionEvent event){
    ScrollerActionEvent scrollerEvent = (ScrollerActionEvent) event;
    setMostrarPesquisa(""); //uso div para esconder a tabela de resultado.
}

no caso eu deveria guardar o numero da paginação que ele clicou?
e como?

nops, é só parar com esta cachaça de usar o SclrollerActionEvent e deixar o dataScroller trabalhar sozinho :smiley:

desculpa…
eu não chamo metódo nenhum??

SEVERE: Servlet.service() for servlet Faces Servlet threw exception
java.lang.ClassCastException: javax.faces.model.ListDataModel
at org.apache.myfaces.component.html.ext.HtmlDataTable.updateModelFromPreservedDataModel(HtmlDataTable.java:401)
at org.apache.myfaces.component.html.ext.HtmlDataTable.processUpdates(HtmlDataTable.java:387)
at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:935)
at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:935)

retirei o metodo e continua com o mesmo problema…
quando eu clico na paginação ele some com os dados.
Mas se eu pesquisar de novo( action ) ele mostra os dados referentes ao numero da paginação que eu cliquei.

Obrigado por estar me ajudando…

Alguém poderia me ajudar, meu problema é o seguinte… tenho uma dataTable com Scroller funcionando, quando peço para exibir a lista sem filtro ela me lista normalmente os 30 registros em 3 paginas,
mas quando o retorno do filtro retorna 10 por exemplo, a dataTable ao ser carregada permanece na pagina 3, toda em branco, e eu sou obrigado a clicar em First para voltar para a pagina 1, que contem os 10 registros filtrados.

Como posso solucionar esse problema?