Tree list na web

4 respostas
felipe_gdr

Ola!

Estou tentando fazer uma tree list para mostrar o conteudo de um diretorio. Ate que estou conseguindo, usando tags. Porem estou tentando fazer o seguinte:

A lista de diretorios, e todos os subdiretorios seria carregada no primeiro request.

Quando o usuario clicasse em um dos sub-diretorios, todos os arquivos que estivessem dentro desse diretorio iriam aparecer em uma lista, porem sem recarregar a pagina. A lista de arquivos estaria em um

oculto, ou algo assim…

Nunca usei Ajax, mas acho que essa seria a solucao, mas acho que essa seria a ferramenta perfeita.
Achei um exemplo de utilizacao de AJAX para construir abas em uma pagina (link) porem achei extremamente complicado, e nao consegui pegar o conceito. :frowning:

Alguem tem um exemplo de utilizacao de AJAX para construir tree lists? Ou pelo menos alguma maozinha qualquer? 8)

Valeu!

4 Respostas

gleise

Oi,

Então, acho que não precisa de uma implementação AJAX específica para treelist. Você podia carregar uma página com a treelist dentro de um div abaixo do diretorio que o usuário clicar.

Você podia começar estudando esse artigo: http://www.tableless.com.br/artigos/ajaxdemo/
Pelo menos para mim foi o que ajudou a enteder o AJAX qdo comecei a usá-lo. :smiley:

Boa sorte! :wink:

ddduran

bom primeiro por que você não olha um JS para construir o tree list
como esse
http://www.destroydrop.com/javascripts/tree/

eu gosto muito dele por ser bem simples

ai você monta o TL inicial quando o usuario clicar em um dos nos
você “executa um ajax” bem simples tambem, que só “injete” o html do novo TL no div do TL atual.

felipe_gdr

Muito bom esse modelo de tree list dduran. E muito facil de usar tb.
No entanto estou tendo problemas na hora de usa-lo com jsp.

Fiz uma custom tag para passar o nome dos arquivos, id’s e parentId’s em tempo de execucao.
Ficou assim:

<script type="text/javascript">
		<!--
		var Tree = new Array;
		// nodeId | parentNodeId | nodeName | nodeUrl
	  	<wd:createTreeList sourceList="${requestScope.filesList}">
   			Tree[${id - 1}]  = "${id}|${parentsId}|${dirName}|${dirName}";
	  	</wd:createTreeList>
		//-->		
	</script>

e o resultado foi como o esperado:

<script type="text/javascript">
		<!--
		var Tree = new Array;
		// nodeId | parentNodeId | nodeName | nodeUrl
	  	
   			Tree[0]  = "1|0|common|common";
	  	
   			Tree[1]  = "2|1|classes|classes";
	  	
   			Tree[2]  = "3|2|Bla|Bla";
	  	
   			Tree[3]  = "4|3|Bla|Bla";
	  	
   			Tree[4]  = "5|1|endorsed|endorsed";
	  	
   			Tree[5]  = "6|5|Teste|Teste";
	  	
   			Tree[6]  = "7|1|lib|lib";
	  	
		//-->		
	</script>

Porem nao imprime nada… copiei os 2 arquivos (tree.css e tree.js) para a minha aplicacao, e a pasta de imagens tb.
O teste final foi copiar o codigo fonte gerado pelo .jsp, colar num arquivo html dentro do mesmo diretorio que o jsp e abrir. O pior e que funciona desse jeito. :shock: Entao assumo que haja algum problema em usar javascript com jsp, ou que seja diferente do que usar com html. correto?

felipe_gdr

Cara que bizarro, to mais confuso agora. :?

Copiei o codigo fonte gerado pelo primeiro jsp em um novo jsp, assim o conteudo nao foi gerado dinamicamente. Ai inicei o tomcat e acessei o novo jsp, e, para a minha surpresa, funcionou!

Existe algum problema em colocar conteudo dinamico em funcoes javascript no header de um jsp?

Criado 12 de novembro de 2007
Ultima resposta 12 de nov. de 2007
Respostas 4
Participantes 3