Problema rich:dataTable - h:commandLink não renderiza

Fala galera,

Estou com um problema ao utilizar o rich:dataTable.

No meu table, tenho alguns <h:commandLink>, quando renderizam pela primeira vez eles funcionam, mas quando faço alguma requisição pelo a4j:commandButton ou uso a paginação do rich:datascroller, todos os commandLink somem, tirando os links e aparecendo apenas textos normais.

Alguém poderia me ajudar?

[]'s

RESOLVIDO: Consegui resolver galera, eu tava utilizando a tag , quando o datatable renderiza pela segunda vez, ela buga.

Flw

[/code]E ae galera,

Eu tenho a seguinte situação
rich:dataTable que lista os objetos e tem uma ação para excluir dentro de h:commandlink

A ação funciona corretamente na primeira vez, porém se eu utilizo a paginação do datascroller
ela para de funcionar.

pS.: scopo do meu manager bean esta como session
já tentei setar como false a facelets.BUILD_BEFORE_RESTORE

vou postar meu xhtml, web.xml e managedbean

xhtml

<rich:panel>
		<f:facet name="header">
			Setores Cadastrados
		</f:facet>
			<h:form id="formTableSetores">
			 <rich:dataTable  id="tabelaSetores" onRowMouseOver="this.style.backgroundColor='#F1F1F1'"
			                    onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'"
			                    cellpadding="0" cellspacing="0" rows="10"
			                    width="500" border="0" var="item" value="#{setorController.todos}">
				 <rich:column breakBefore="true">
				 	<f:facet name="header">
				 		ID
				 	</f:facet>
				 	<h:outputText value="#{item.pkIdSetor}" />
				 </rich:column>
				 <rich:column>
				 	<f:facet name="header">
				 		Setor
				 	</f:facet>
				 	<h:outputText value="#{item.nomSetor}" />
				 </rich:column>
				 <rich:column align="center">
				 	<f:facet name="header">
				 		Excluir
				 	</f:facet>
				 	<h:commandLink  action="#{setorController.excluir}" immediate="true">
				 		<img src="../image/deletar.png" height="15px" width="15px" border="0"/>
				 	</h:commandLink>
				 </rich:column>
			</rich:dataTable>
			<rich:datascroller id="scrollSetor" for="tabelaSetores"  maxPages="20" reRender="tabelaSetores"/> 
			</h:form>
	</rich:panel>

web.xml

<?xml version="1.0"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
 <description>Facelets StarterKit</description>
 <display-name>ProjetoPortaria</display-name>
 <context-param>
  <param-name>com.sun.faces.validateXml</param-name>
  <param-value>true</param-value>
 </context-param>
 <context-param>
  <param-name>com.sun.faces.verifyObjects</param-name>
  <param-value>true</param-value>
 </context-param>
 <context-param>
  <param-name>facelets.DEVELOPMENT</param-name>
  <param-value>true</param-value>
 </context-param>
 <context-param>
  <param-name>facelets.REFRESH_PERIOD</param-name>
  <param-value>2</param-value>
 </context-param>
 <context-param>
 <param-name>facelets.BUILD_BEFORE_RESTORE</param-name>
 <param-value>false</param-value>
 </context-param>
 <context-param>
  <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
  <param-value>.xhtml</param-value>
 </context-param>
 <context-param>
  <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
  <param-value>client</param-value>
 </context-param>
 <context-param>
  <param-name>org.apache.myfaces.trinidad.ALTERNATE_VIEW_HANDLER</param-name>
  <param-value>com.sun.facelets.FaceletViewHandler</param-value>
 </context-param>
 <context-param>
  <param-name>org.richfaces.CONTROL_SKINNING</param-name>
  <param-value>enable</param-value>
 </context-param>
 <context-param>
  <param-name>org.richfaces.SKIN</param-name>
  <param-value>deepMarine</param-value>
 </context-param>
 <filter>
  <filter-name>trinidad</filter-name>
  <filter-class>org.apache.myfaces.trinidad.webapp.TrinidadFilter</filter-class>
 </filter>
 <filter>
  <filter-name>openEntityManager</filter-name>
  <filter-class>org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter</filter-class>
 </filter>
 <filter>
  <description>Filtro para restringir entrada de usuario</description>
  <filter-name>FiltroUsuario</filter-name>
  <filter-class>br.gov.cofen.intranet.portaria.utils.SegurancaFiltro</filter-class>
 </filter>
 <filter>
  <display-name>RichFaces Filter</display-name>
  <filter-name>richfaces</filter-name>
  <filter-class>org.ajax4jsf.Filter</filter-class>
 </filter>
 <filter-mapping>
  <filter-name>trinidad</filter-name>
  <servlet-name>Faces Servlet</servlet-name>
 </filter-mapping>
 <filter-mapping>
  <filter-name>openEntityManager</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>
 <filter-mapping>
  <filter-name>FiltroUsuario</filter-name>
  <url-pattern>/admin/*</url-pattern>
 </filter-mapping>
 <filter-mapping>
  <filter-name>richfaces</filter-name>
  <servlet-name>Faces Servlet</servlet-name>
  <dispatcher>REQUEST</dispatcher>
  <dispatcher>FORWARD</dispatcher>
  <dispatcher>INCLUDE</dispatcher>
 </filter-mapping>
 <listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
 </listener>
 <servlet>
  <servlet-name>Faces Servlet</servlet-name>
  <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
 </servlet>
 <servlet>
  <servlet-name>resources</servlet-name>
  <servlet-class>org.apache.myfaces.trinidad.webapp.ResourceServlet</servlet-class>
 </servlet>
 <servlet-mapping>
  <servlet-name>Faces Servlet</servlet-name>
  <url-pattern>*.jsf</url-pattern>
 </servlet-mapping>
 <servlet-mapping>
  <servlet-name>resources</servlet-name>
  <url-pattern>/adf/*</url-pattern>
 </servlet-mapping>
 <session-config>
  <session-timeout>-1</session-timeout>
 </session-config>
 <welcome-file-list>
  <welcome-file>index.jsp</welcome-file>
  <welcome-file>index.html</welcome-file>
  <welcome-file>index.htm</welcome-file>
  <welcome-file>default.html</welcome-file>
  <welcome-file>default.htm</welcome-file>
  <welcome-file>default.jsp</welcome-file>
 </welcome-file-list>
</web-app>

[code]
@Controller(“setorController”)
@Scope(“session”)
public class SetorController {

private Setor setor;

private DataModel model;



@Resource
private DaoGenerico<Visita, Integer> visitaDao;
	
@Resource
private DaoGenerico<Setor, Integer> setorDao;


public SetorController(){}

public Setor getSetor() {
	return setor;
}

public void setSetor(Setor setor) {
	this.setor = setor;
}

public DataModel getModel() {
	return model;
}

public void setModel(DataModel model) {
	this.model = model;
}

public DaoGenerico<Setor, Integer> getSetorDao() {
	return setorDao;
}

public void setSetorDao(DaoGenerico<Setor, Integer> setorDao) {
	this.setorDao = setorDao;
};

public DaoGenerico<Visita, Integer> getVisitaDao() {
	return visitaDao;
}

public void setVisitaDao(DaoGenerico<Visita, Integer> visitaDao) {
	this.visitaDao = visitaDao;
}

public String novoSetor(){
	this.setor = new Setor();
	return "formSetor";
}

public DataModel getTodos(){
	return model= new ListDataModel(setorDao.todos());
}

public Setor getSetorParaEditarExcluir(){
	Setor setor = (Setor) model.getRowData();
	return setor;
}

public String editar(){
	setSetor(getSetorParaEditarExcluir());
	return "formSetor";
}

public String salvar(){
	
	boolean validaSetor=true;
	
	try {
		
		for(Iterator<?>iter=setorDao.todos().iterator();iter.hasNext();){
			Setor s = (Setor)iter.next();
			if(setor.getNomSetor().equalsIgnoreCase(s.getNomSetor())){
				validaSetor=false;
			}
		}
		//verifica se o nome do setor só inicia com letras
		if(setor.getNomSetor().charAt(0)>=65 && setor.getNomSetor().charAt(0)<=90 || 
				setor.getNomSetor().charAt(0)>=97 && setor.getNomSetor().charAt(0)<=122){
			
			if(validaSetor){
				if(setor.getPkIdSetor()==null){
					setorDao.salvar(setor);
				} else {
					setorDao.atualizar(setor);
				}
				
				FacesUtils.mensInfo("Salvo com sucesso");
				setor = new Setor();
			}else{
				FacesUtils.mensErro("Setor já cadastrado");
			}
		}else{
			FacesUtils.mensErro("Nome do setor deve ser iniciado somente com letras");
		}
		
	} catch (InvalidStateException e) {

		FacesUtils.mensErro("Erro ao cadastrar setor. Erro: "+e.getMessage());
	}
	
	return "sucessoSetor";
}

public String excluir(){
	
	Setor setor= getSetorParaEditarExcluir();
	
	boolean setorSemVisita=true;
	
	try {
		for(Iterator<?> iter=visitaDao.todos().iterator();iter.hasNext();){
			Visita visita = (Visita)iter.next();
			if(visita.getSetor().getPkIdSetor()==setor.getPkIdSetor()){
				setorSemVisita=false;
			}
		}
		//se setor ainda não possui visitas, o setor pode ser deletado
		if(setorSemVisita){
			setorDao.excluir(setor);
			FacesUtils.mensInfo("Setor deletado com sucesso");
		}
	} catch (Exception e) {
		FacesUtils.mensErro("Setor não pode ser deletado pois possui visitas cadastradas");
	}
	
	return "formSetor";
}

}[/code]

RESOLVIDO

putz perdi a tarde inteira em fóruns
quando resolvi testar o a4j:commandlink no lucar de <h:commandlink> funcionou certinho
caso alguém esteja com o msmo problema tenta ai
abraço