Página não exibe rich:tree

1 resposta
J

Boa tarde…

Estou tentando aplicar um exemplo de rich:tree. Primeiro exemplo peguei do site RichFaces live demo, porém a página não exibia a tree e não gerava nenhum erro. Resolvi pesquisar outros exemplos, então achei esse:

Classe ItemArvore

package br.com;

import java.util.ArrayList;
import java.util.List;

public class ItemArvore {
	
	private String descricao;

	private List<ItemArvore> filhos = new ArrayList<ItemArvore>();

	public String getDescricao() {
		return descricao;
	}

	public void setDescricao(String descricao){
		this.descricao = descricao;
	}

	public List<ItemArvore> getFilhos() {
		return filhos;
	}


	public void setFilhos(List<ItemArvore> filhos) {
		this.filhos = filhos;
	}
	
}

Classe BeanArvore

package br.com;

import java.util.HashSet;
import java.util.Set;

import javax.faces.component.UIData;

import org.richfaces.event.NodeExpandedEvent;

public class BeanArvore {
	
	private Set<ItemArvore> arvore = new HashSet<ItemArvore>();

	public Set<ItemArvore> getArvore() {
		return arvore;
	}
	
	public void setArvore(Set<ItemArvore> arvore) {
		this.arvore = arvore;
	}
	
	 private void loadDadosTree() {
		// Criamos o primeiro item
		ItemArvore item = new ItemArvore();

		// Setamos sua descrição
		item.setDescricao("Primeiro nó da árvore.");

		// Adicionamos ele na árvore
		arvore.add(item);		
	}
	
	public void changeExpandListener(NodeExpandedEvent event) {
		// Recuperamos o data do nó expandido
		Object no = ((UIData) event.getComponent()).getRowData();

		// Colocamos ele do tipo da classe que criamos de itens da árvore
		ItemArvore item = (ItemArvore)no;

		// Criamos um novo item qualquer para adicionarmos ao nó que foi clicado
		ItemArvore itemAdicionar = new ItemArvore();
		itemAdicionar.setDescricao("Item teste");

		// Adicionamos na lista de filhos
		item.getFilhos().add(itemAdicionar);
	} 
	 
}

Página JSP

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
 <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>  
 <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%> 
 <%@ taglib uri="http://richfaces.ajax4jsf.org/rich" prefix="rich"%>
 
<html>

<head>
	<title>Testando Tree</title>
</head>

<body>
	<f:view>
		<h:form>
		    
	        <rich:tree id="tree" style="width:300px" ajaxSubmitSelection="true" switchType="ajax" nodeSelectListener="#{bean.changeExpandListener}">
				<rich:recursiveTreeNodesAdaptor roots="#{bean.arvore}" var="no" nodes="#{no.filhos}">
							
				<rich:treeNode>			
					<h:outputText value="#{no.descricao}"/>			
				</rich:treeNode>
			
				</rich:recursiveTreeNodesAdaptor>			
			</rich:tree>
			
    	</h:form>
	</f:view>
</body>

</html>

Mas o problema persiste. A página não gera nenhuma excessão, mas, também não exibe nada.

Desde já, agradeço.

1 Resposta

I

Olá !!!

Sei que o tópico é antigo, mais estou passando por problema semelhante. Você conseguiu resolver??

Agradeço desde já!

Iza

Criado 24 de agosto de 2009
Ultima resposta 27 de out. de 2009
Respostas 1
Participantes 2