Java.io.NotSerializableException: org.richfaces.component.html.HtmlTab

Boa tarde,

estou desenvolvendo uma tela em jsf e utlizando HtmlTab, mas ao abrir a página segue o seguinte erro:

java.io.NotSerializableException: org.richfaces.component.html.HtmlTab

trecho docódigo:

	<rich:tabPanel 
		    	switchType="ajax" 
		    	headerAlignment="left"
		    	headerSpacing="0px"		    	  id="tabUpload000"							    								    									    								    								    								    				>

  <rich:tab 
	        	label="1. Criar Tabela"  
	        	styleClass="tbTabStyle" 
	        	style="padding:0px" 
	        	id="tabUpload001"									        	
	        	binding="#{newTabelaMB.htTab1}"
	        	switchType="ajax"
	        >
     ...
   
   </rich:tab >

  <rich:tab 
	        	label="2. Ler Tabela"  
	        	styleClass="tbTabStyle" 
	        	style="padding:0px" 
	        	id="tabUpload002"									        	
	        	binding="#{newTabelaMB.htTab2}"
	        	switchType="ajax"
	        >
     ...
   
   </rich:tab >

   </rich:tabPanel >
   

e a classe:


public class NewTabelaMB 
{

private HtmlTabPanel htp = new HtmlTabPanel();
	private HtmlTab htTab1 = new HtmlTab();
	private HtmlTab htTab2 = new HtmlTab();
	private HtmlTab htTab3 = new HtmlTab();

private NewTabelaMB ()
{
this.htp.setSelectedTab("tabUpload001");
                
        this.htTab1.setDisabled(false);
        this.htTab2.setDisabled(true);
        this.htTab3.setDisabled(true);
}

	public void setHtp(HtmlTabPanel htp) 
	{
		this.htp = htp;
	}

	public HtmlTabPanel getHtp() 
	{
		return htp;
	}
	   
    public void setHtTab1(HtmlTab htTab1) 
    {
		this.htTab1 = htTab1;
	}

	public HtmlTab getHtTab1() 
	{
		return htTab1;
	}

	public void setHtTab2(HtmlTab htTab2) 
	{
		this.htTab2 = htTab2;
	}

	public HtmlTab getHtTab2() 
	{
		return htTab2;
	}

	public void setHtTab3(HtmlTab htTab3) 
	{
		this.htTab3 = htTab3;
	}

	public HtmlTab getHtTab3() 
	{
		return htTab3;
	}

}

A sua classe NewTabelaMB não deveria implementar Serializable ?

sim, mas na verdade estou extendendo uma classe que já implementa a serialização.


# public class NewTabelaMB   extends ClasseX
# {  
#   
   private static final long serialVersionUID = 1L;
# private HtmlTabPanel htp = new HtmlTabPanel();  
#     private HtmlTab htTab1 = new HtmlTab();  
#     private HtmlTab htTab2 = new HtmlTab();  
#     private HtmlTab htTab3 = new HtmlTab();  
#   
# private NewTabelaMB ()  
# {  
# this.htp.setSelectedTab("tabUpload001");  
#                   
#         this.htTab1.setDisabled(false);  
#         this.htTab2.setDisabled(true);  
#         this.htTab3.setDisabled(true);  
# }  
#   
#     public void setHtp(HtmlTabPanel htp)   
#     {  
#         this.htp = htp;  
#     }  
#   
#     public HtmlTabPanel getHtp()   
#     {  
#         return htp;  
#     }  
#          
#     public void setHtTab1(HtmlTab htTab1)   
#     {  
#         this.htTab1 = htTab1;  
#     }  
#   
#     public HtmlTab getHtTab1()   
#     {  
#         return htTab1;  
#     }  
#   
#     public void setHtTab2(HtmlTab htTab2)   
#     {  
#         this.htTab2 = htTab2;  
#     }  
#   
#     public HtmlTab getHtTab2()   
#     {  
#         return htTab2;  
#     }  
#   
#     public void setHtTab3(HtmlTab htTab3)   
#     {  
#         this.htTab3 = htTab3;  
#     }  
#   
#     public HtmlTab getHtTab3()   
#     {  
#         return htTab3;  
#     }  
#   
# }