JavaServer Faces: Como implementar tags que possuam atributos que não sejam do tipo String?

Olá,
estou apenas começando no desenvolvimento de componentes customizados para o JavaServer Faces e estou com o seguinte problema: uma das minhas tags recebe como atributo um valor que não seja do tipo String. No caso, trata-se de uma tabela.
Defini no arquivo TLD a tag da seguinte forma:

    <tag>
         <name>elementosTabela</name>
         <tag-class>ecm.cmc.faces.ui.ElementosTabelaTag</tag-class>         
         <attribute>
             <name>largura</name>
             <description>A largura da tabela</description>             
         </attribute>
         <attribute>
             <name>tabela</name>            
             <rtexprvalue>true</rtexprvalue>
             <type>algo.entidades.tabela.Tabela</type>
             <description>A tabela que será exposta</description>
         </attribute>
     </tag>

Como podem observar, defini o tipo corretamente, trata-se de uma das classes da minha aplicação. No entanto, toda vez que vou executar a página que contém a tag relacionada, e passo como parametro tabela um valor do tipo ealgo.entidades.tabela.Tabela, obtenho a seguinte saida:

org.apache.jasper.JasperException: jsp.error.beans.property.conversion
	org.apache.jasper.runtime.JspRuntimeLibrary.getValueFromPropertyEditorManager(JspRuntimeLibrary.java:885)
	org.apache.jsp.cmc.tabelaModelo_jsp._jspx_meth_cmc_jsf_elementosTabela_0(org.apache.jsp.cmc.tabelaModelo_jsp:822)
	org.apache.jsp.cmc.tabelaModelo_jsp._jspx_meth_f_view_0(org.apache.jsp.cmc.tabelaModelo_jsp:172)
	org.apache.jsp.cmc.tabelaModelo_jsp._jspService(org.apache.jsp.cmc.tabelaModelo_jsp:120)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:322)
	com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:130)
	com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
	com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
	com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)

Sendo assim, pergunto: como configurar um componente JSF para aceitar valores que NÃO sejam do tipo String, mas sim classes customizadas? Aonde mais eu poderia estar errando (com certeza trata-se de um erro óbvio).