Como declarar propriedade como transient com JSF?

Pessoal estou tendo uma dificuldade aqui com umas propridades que quero setar como transient, mas parece que o JSF ignora.
A situação é a seguinte, estou usando o ViewScoped mas devido estas propriedades que não são serializavéis o JSF não está guardando, e toda vez que uso o filtro do DataTable, por exemplo, ele constroe o Bean novamente acessando seu construtor.
As propriedades são org.primefaces.component.datatable.DataTable; import org.primefaces.component.inputtext.InputText;

Estou recebendo java.io.NotSerializableException: org.primefaces.component.inputtext.InputText .

Desde de já agradeço.

Experimente implementar Serializable no seu managedbean:

@SuppressWarnings("serial")
@ViewScoped
@ManagedBean(name="meuMB")
public class MeuManagedBean implements Serializable
...

[quote=jokacwb]Experimente implementar Serializable no seu managedbean:

@SuppressWarnings("serial") @ViewScoped @ManagedBean(name="meuMB") public class MeuManagedBean implements Serializable ... [/quote]

Valeu pela resposta, brother.
Bom eu já havia feito isso, a única coisa diferente no meu código é a ausência do @SuppressWarnings(“serial”) .
Isso é uma coisa que está atrapalhando bastante, pois o ViewScoped perdeu totalmente sua característica.
Se tiver mais alguma sugestão, seria muito útil.

Desde de já agradeço.

posta seu managedBean na integra, to desconfiado de algum outro obj q vc usa dentro do seu MB e referenciado na pagina web q pode estar precisando de um “implements Serialisable”

Sim, os objs problemáticos são org.primefaces.component.datatable.DataTable e o org.primefaces.component.inputtext.InputText .
Estou fazendo binding deles e setei como transient mas de nada adiantou.
Em relação ao código, eu posto ele amanhã pela manhã, pois é um projeto la do trabalho e to sem o código aqui em casa.

[quote=jokacwb]Experimente implementar Serializable no seu managedbean:

@SuppressWarnings("serial") @ViewScoped @ManagedBean(name="meuMB") public class MeuManagedBean implements Serializable ... [/quote]

Quando que meus MBs devem implementar o Serializable?

Grato
Ademir

import org.primefaces.component.datatable.DataTable;
import org.primefaces.component.inputtext.InputText;


@ManagedBean
@ViewScoped
public class NovoLoteBean implements Serializable {
    private static final long serialVersionUID = 1L;
    
    private DAOFactory daoFactory;
    private ItensNaoPagosDAO itensNaoPagosDAO;
    private List<ItensNaoPagos> itensNaoPagos = new ArrayList<ItensNaoPagos>();
    private List<ItensNaoPagos> itensSelecionados = new ArrayList<ItensNaoPagos>();
    private ItensNaoPagos itemSelecionadoParaDetalhe;
    private List<SelectItem> datasEmissao;
    private List<SelectItem> datasVencimento;
    private List<FonteConsolidada> fontesConsolidadas;
    private transient boolean verDetalhe;
    private ItensNaoPagos itemSelecionado;
    private boolean loteAberto;
    private Lote lote;
    private List<ItensMarcados> itensExcluidos;
    private DatasExtracao dataHoraExtracao;
    private transient DataTable itensAMarcar = new DataTablePersonalizado();
    private transient InputText valorDeComponente;
}

O básico é isso aí está dando erro no DataTable e no InputText que ele tenta serializar e não consegue e acaba não serializando nada.

AnjoVingador,

  • o problema do ViewScope acontece só neste managedBean?
  • porque esses componentes tem que ser transient? eu utilizo o binding do p:tree e p:menu sem problemas …

podes postar o pedaço de fonte no xhtml que você está fazendo o binding ?

[quote=grsouza]AnjoVingador,

  • o problema do ViewScope acontece só neste managedBean?
  • porque esses componentes tem que ser transient? eu utilizo o binding do p:tree e p:menu sem problemas …

podes postar o pedaço de fonte no xhtml que você está fazendo o binding ?[/quote]
Sim somente neste managedBean.
Eles não tem que ser transient, eu apenas coloquei pois estava estourando uma exceção e me avisava justamente sobre estes componentes, que eles não podiam ser serializados.
Sendo assim acabando com o meu ViewScoped.
Qual a versão do JSF que vc está usando aí?

up, pois ainda não resolvi o problema.

Resolveu?