tô testando o componente “tree” do struts 2…
bem legalzinho, usa o dojo e funciona bem, mas eu não consigo colocar um link em uma das folhas da arvore.
alguem ja testou?
o codigo que gera as divs é o seguinte:
<s:tree id="..." label="...">
<s:treenode id="..." label="..." />
<s:treenode id="..." label="...">
<s:treenode id="..." label="..." />
<s:treenode id="..." label="..." />
<s:treenode id="..." label="..." />
</s:tree>
se alguem puder ajudar… 
Eu também estou querendo saber isso.
Não estou conseguindo fazer o componente tree funcionar… Estou fazendo o tree estático mesmo. Mas não aparece nada na tela, nem dá erro nenhum…
...
<s:head theme="ajax" debug="true" />
...
<s:tree id="tree001" label="AAA" title="AA">
<s:treenode id="tree002" label="BBB" title="BB"/>
<s:treenode id="tree003" label="CCC" title="CC"/>
</s:tree>
Alguém sabe o que pode ser?
Já consegui fazer o tree funcionar…
...
<s:head theme="ajax" debug="true" />
...
<s:tree label="AAA" theme="ajax">
<s:treenode label="BBB" theme="ajax"/>
<s:treenode label="CCC" theme="ajax"/>
</s:tree>
...
Mas agora quero saber, como eu faço para colocar um checkbox em cada nó, ou um link, como o marcuslm perguntou…
Alguém sabe?
Depois de ralar bastante consegui em fim fazer a tag tree dinamica funcionar, ele monta a estrutura da empresa(unidades/setores/etcc.) com mais de 9 mil registros na boa e rapido…
Mas agora estou com o mesmo problemas de vcs… não consigo colocar eventos ao clicar nos registros da árvoes… tipo eu preciso que ao clicar na “folha” da árvore seja acionado a action que abre o formulário com as informações completas daquele registro.
Obs.: Estou usando este mesmo POST para reabrir a discussão.
Desde já agradeço qualquer ajuda.
[]'s
JOKA
Olá galera,
revirei a internet e consegui achar a solução do problema.
Na verdade o principal problema é minha falta de experiencia com DOJO, mas ai vai o código com a solução:
<%@ taglib prefix="s" uri="/struts-tags" %>
<script language="javascript">
var MyDojoTreeListener =
{
aoClicarTitulo: function(selectedNode)
{
alert('Clicou no registro ===> ' + selectedNode.source.title + ' que tem ID = ' +selectedNode.source.widgetId );
}
};
dojo.addOnLoad(function()
{
var tree = dojo.widget.getWidgetById('arv');
dojo.event.topic.subscribe(tree.eventNames['titleClick'],MyDojoTreeListener,"aoClicarTitulo");
})
</script>
<div id="conteudo_corpo">
<form action="javascript:alert('Executando o form.....');" name="formulario">
<s:tree
id="arv"
name="arv"
theme="ajax"
rootNode="%{noPrincipal}"
childCollectionProperty="filhas"
nodeIdProperty="id"
nodeTitleProperty="nome">
</s:tree>
</form>
</div>
Observação: Não estou mencionando a codificação JAVA responsável pela população dos galhos/folhas da árvore, pois o foco é a codificação javascript/dojo que permitiu acionar o evento onClick de cada registro da árvore.
T+
JOKA
www.massafm.com.br/curitiba (seg. a sábado as 7 da manhã)
www.culturasulfm.com.br (todo sábado meio dia)
pra qm conseguiu usar a tag “tree” e pudar dar um toque, pq essa poha n mostra nda, vou postar todos os javas q estou usando 
Pojo
public class Arvore {
private Long id;
private String nome;
private String descricao;
private Long ip_pai;
private Set<Arvore> _filhos;
/* **************
* construtor
*/
public Arvore() {
System.out.println("criado pai...");
}
public Arvore(Long id, String nome, String descricao) {
this.id = id;
this.nome = nome;
this.descricao = descricao;
}
/* **************
* metodos auxiliares
*/
public void adicionarFilho(Arvore arvore) {
if (_filhos == null) {
_filhos = new HashSet<Arvore>();
}
_filhos.add(arvore);
System.out.println("filho adicionado...");
}
public boolean equals(Arvore arvore) {
if (this.id == arvore.id) return true;
return false;
}
// sem os getters e setters, ia ficar mto grande o post
o Action
public class ArvoreAction extends ActionSupport {
public Set<Arvore> lista = new HashSet<Arvore>();
public Set<Arvore> consulta = new HashSet<Arvore>();
public Arvore pai;
public Arvore no;
public String construirArvore() {
pai = new Arvore();
pai.setId(new Long(0));
pai.setNome("root");
pai.setDescricao("raiz da arvore");
for (int i = 1; i <= 11; i++) {
no = new Arvore(new Long(i), "no"+i, "no filho");
pai.adicionarFilho(no);
}
consulta = pai.get_filhos();
return Globals.ACTION_SUCESS; // "sucess"
}
// sem getters e setters
arquivo jsp
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<s:head theme="ajax" debug="true"/>
</head>
<body>
<h3>Arvore que eh bom, nada!! :P </h3>
<s:tree id="arvoreId" theme="ajax"
rootNode="%(pai)"
nodeIdProperty="id"
nodeTitleProperty="nome"
childCollectionProperty="_filhos" >
</s:tree>
<h3>Exemplo de Iterator</h3>
<s:iterator value="consulta">
<s:property value="nome" /><br />
</s:iterator>
</body>
</html>
tai o basico, estou tentando fazer uma consulta no banco e montar uma arvore com registro do tipo hierarquico com orgaos e tudo q for relacionado a este aparecer como folhas na arvore, agradeço apartir de ja qlqr ajudar… valeu 
Olá …
Estou precisando fazer um menu dinamico a partir do meu banco de dados…que está divido em categorias e subcategorias em forma de arvore
mas não sei como fazer isso…precisaria de algum exemplo ou dica se possível
Será que pode me ajudar…
Obrigado