Página JSF mantem-se na memória mesmo após trocar de tela

Olá… tenho um menu feito com primefaces… Sempre que eu abro uma tela, de cadastro de usuários por exemplo, se eu já abri ela em outro momento, ele apenas me exibe a tela novamente. Como se fosse um sistema de abas. Ele não libera a memória da página quando eu fecho ela…
Preciso explicar mais ou á algo que vocês podem me indicar…?
Estou usando

@Scope("session")

Se você está usando session, todos os dados sim, ficarão na sessão do usuário.

Oq você teria que fazer era reiniciar os dados manualmente. [=

Bom… alguma recomendação com relação a isso???
Os dados estão armazenados em um Controller… Preciso “reiniciar esse controle” quando ele sair da página…
Como procedo? Tem alguma função, onClose() rsrsrsrs???

Se não… seria melhor trabalhar com algum outro tipo de Scope ?

[quote=Scoobydoo]Bom… alguma recomendação com relação a isso???
Os dados estão armazenados em um Controller… Preciso “reiniciar esse controle” quando ele sair da página…
Como procedo? Tem alguma função, onClose() rsrsrsrs???

Se não… seria melhor trabalhar com algum outro tipo de Scope ?[/quote]Em minhas aplicação não uso Session a ñ ser para guardar dados do usuário.

Ao invés de reiniciar os dados quando o usuário sair da tela, você poderia reiniciar antes dele entrar na tela. Chama um método que reinicie os valores e depois abra a tela. Só não esqueça de dar um update no form.
[=

Entendi… Bom vou tentar utilizar o @Scope(“view”) :smiley:
Dessa maneira ele vai armazenar os dados até ele trocar de tela correto?
Terei algum problema se fizer dessa forma?
Estou usando Spring

ViewScope.java

[code]
import java.util.Map;

import javax.faces.context.FacesContext;

import org.springframework.beans.factory.ObjectFactory;
import org.springframework.beans.factory.config.Scope;

/**

  • Disponibiliza o view scope para managed beans gerenciados pelo spring

*/
public class ViewScope implements Scope {

public Object get(String name, @SuppressWarnings("rawtypes") ObjectFactory objectFactory) {
    Map<String, Object> viewMap = FacesContext.getCurrentInstance().getViewRoot().getViewMap();
    if (viewMap.containsKey(name)) {
        return viewMap.get(name);
    } else {
        Object object = objectFactory.getObject();
        viewMap.put(name, object);
        return object;
    }
}

public Object remove(String name) {
    return FacesContext.getCurrentInstance().getViewRoot().getViewMap().remove(name);
}

public String getConversationId() {
    return null;
}

public void registerDestructionCallback(String name, Runnable callback) {
    //Not supported
}

public Object resolveContextualObject(String key) {
    return null;
}

}[/code]

[quote=Scoobydoo]Entendi… Bom vou tentar utilizar o @Scope(“view”) :smiley:
Dessa maneira ele vai armazenar os dados até ele trocar de tela correto?
Terei algum problema se fizer dessa forma?[/quote]Pode ter se você utilizá-lo de forma incorreta. [=

Boa sorte aí. [=