Binding HtmlToolBar

Galera estou querendo criar um menu que é dinamico na aplicação, ele vai ser manipulado por um MB que vai ficar na sessão, toda vez que alguma coisa acontece na aplicação um novo menu é montado e dou um reRender nessa parte

<a4j:form > <a4j:outputPanel id="menuAcaoConteudo"> <a4j:region rendered="#{workflowMenuAcaoMB.menuAcaoState}" > <div align="right"> <rich:toolBar style="width: 200px;" width="50%" binding="#{workflowMenuAcaoMB.menuAcao}" /> </div> </a4j:region> </a4j:outputPanel> </a4j:form>

Problema é o seguinte, ele dá esse binding somente a primeira vez, q eu ele é carregado, quando eu modifico o menu, ele não dá o binding, eu coloquei um break point no getMenuAcao, e realmente somente na primeira vez que ele da o binding, alguem sabe me explicar por que, se existe alguma solução. Obrigado

Bom acho que tem algo nesse post, ao assunto referente !!!

http://roneiv.wordpress.com/2008/08/07/ajax-rerendering-how-to-rerender-part-of-your-page-in-myfaces-using-richfaces/

[size=18]; )[/size]

Vou colocar meu problema todo para ajudar vocês a me ajudar, seguinte, na minha aplicação tem dois menus, um menu superior, e um menu que interage com os objetos da aplicação, é aonde eu seto minhas ações como incluir e excluir editar salvar, e esse menu tem que ser montado toda hora, quando eu inicio a aplicação esse menu vem vazio, porque eu ainda não sei o que eu vou fazer, agora se eu clico no menu superior por exemplo em Usuario, ele abre um jsp de listagem de usuario, e na parte superior da jsp aparece esse menu que foi remontado, ou melhor, era para aparecer, problema é o seguinte, ele não da atualizando a tag rich:toolbar com o binding, eu eu já debugei e tenho certeza que ele ta colocando no HtmlToolbar o menu dropDown e seus HtmlmenuIte.

Codigo que está na jsp que chama esse menu que é montado toda vez para atualizar minhas açoes d acordo com o objeto .

<a4j:form > <a4j:outputPanel id="menuAcaoConteudo2"> <a4j:region rendered="#{workflowMenuAcaoMB.menuAcaoState}" > <div align="right"> <rich:toolBar style="width: 200px;" width="50%" binding="#{workflowMenuAcaoMB.menuAcao}" /> </div> </a4j:region> </a4j:outputPanel> </a4j:form>

Codigo do MB que manipula esse menuAcao

[code] private HtmlToolBar menuAcao;
private String managedBean;
private String classeMB;

public WorkflowMenuAcaoFaces(){
	menuAcao = new HtmlToolBar();
}

//Metodo recebendo meu objeto + usuarioLogado
//pego a fase, classe e managedBean

public void montaMenuAcao(HtmlToolBar menuAcao,String managedBean, String classeMB){
	menuAcao.getChildren().clear();
	//pega o managedBean
	if(managedBean!=null){
		Object faces = null;
		if(classeMB == null){
			faces = JsfUtil.getManagedBean(managedBean);
		}else{
			JsfUtil.instanciaManagedBean(managedBean,classeMB);
			faces = JsfUtil.getManagedBean(managedBean);
		}
		//pega o metodo do objeto
		Method metodoObjetoControlado = JsfUtil.getMetodoObjeto("getObjetoControlado", faces);
		Method metodoCurrentState = JsfUtil.getMetodoObjeto("getCurrentState", faces);

		//Chamamos o método getObjetoControlado de cada Face (todos terao um metodo desse)
		Object objetoControlado = null;
		String currentState = null;
		if (metodoObjetoControlado != null){
			//invoca metodo que pega o objetoControlado
			objetoControlado = JsfUtil.invocarMetodoObjeto(metodoObjetoControlado, faces);
			//invoca o metodo que pega o currentState
			currentState = (String)JsfUtil.invocarMetodoObjeto(metodoCurrentState, faces);

			//lista as fasesAcao e constroi o menu
			List<FaseAcaoTO> faseAcoes = workFlowService.listarFaseAcao(objetoControlado, currentState, getUsuarioLogado());
			if(faseAcoes.size() > 0){
				constroiMenuAcao(menuAcao, faseAcoes);
			}
		}
	}
}

public HtmlToolBar getMenuAcao() {
	if (menuAcao != null && menuAcao.getChildCount() > 0){
		return menuAcao;
	}
	return null;
} 

public void setMenuAcao(HtmlToolBar menuAcao) {
	montaMenuAcao(menuAcao, getManagedBean(), getClasseMB());
	this.menuAcao = menuAcao;
}

public boolean isMenuAcaoState(){
	if (menuAcao != null && menuAcao.getChildCount() > 0){
		return true;
	}
	return false;
}

public String getManagedBean() {
	return managedBean;
}

public void setManagedBean(String managedBean) {
	this.managedBean = managedBean;
}

public String getClasseMB() {
	return classeMB;
}

public void setClasseMB(String classeMB) {
	this.classeMB = classeMB;
}[/code]

Tá foda, to só dependendo disso pra continuar a fazer minha aplicação, detalhe, essa classe é chamada por um listerner que esta ligada a todos os menus que estão no menu superior, que é estatico na aplicação montado uma vez fica até deslogar, esse MB que manipula o menuAcao é de sessão! Obrigado

Detalhe isso não esta funcionando porque eu coloco esse menuAcão em um template, intão o jsp está sempre na pagina, e ele só dá o get para montar o menu na primeira vez, se eu colocar essa chamada em cada jsp, da certo, mas ai eu não vou ter uma coisa generica!