…algué ai ja utilizou o componente TREEVIEW (TREE) do richFaces com AJAX em alguma aplicação ou exemplo que desenvolveu ??? …tem como construir no estilo PASSO A PASSO, tipo, nos exemplos que vi (http://livedemo.exadel.com/richfaces-demo/richfaces/tree.jsf?c=tree) os todos os NÓS são construidos de uma vez só, isso em aplicações de grande porte pode ser crítico ao que se refere a desempenho, quero construir os NÓS dinamicamente mais ou menos com base no Onclick realizado em um determinado elemento realizar a busca dos elementos filhos …alguém conhece algum material bom que fale sobre isso ou até mesmo outro compoente que trabalhe dessa maneira ??? …achei o DeveloperGuide do RichFaces bem fraquinho …
…todo o código fonte é disponibilizado no próprio SITE, basta implementar a sua Lógica e fazer as adaptações necessarias para a tua aplicação.
…o exemplo utiliza chamadas recursivas, com isso, os NÓS FILHOS são construidos dinamicamente de acordo com a estrutura estabelecida
pelo BackBean …
…boa sorte !!!
leandrokjava
ola.
td bem eu sei como faço uso componente web, mas será que alguem poderia retratar como a classe funciona com seus respectivos objetos.
…e ai Leandro blz ??? …bom cara, ai vai um exemplo:
1º BackBen
@SuppressWarnings("serial")publicclassTreeBeanextendsManagedBean{privateObjectdata;privateUITreeuiTree;/** * Métod que deve conter a lógica para renderizar a tua TREE dinâmicamente * @return Object */publicObjectgetData(){if(data==null){TreeNoderaiz=newCustomTreeNode();for(inti=0;i<20;i++){TreeNodenode=newCustomTreeNode();//adiciona o PAInode.setParent(raiz);//associa os filhosraiz.addChild(node);}}returndata;}//get's + set's}
…o RichFaces disponibiliza uma interface chamada TreeNode
org.richfaces.model.TreeNode
…pra fazer o bicho funcionar dinâmicamente vc vai ter que implementar um CUSTOM, mais isso e coisa simples, o Rich já traz algumas implementações default pronta pra usar, pro meu caso tive que implementar aqui …
…na tua JSP vc coloca:
<a4j:regionid="tempo"><!-- esse trecho é so pra renderizar um GIF enqto a TREE é construida --><a4j:status><f:facetname="start"><h:graphicImagevalue="#{msg.gif_ajax1}"/></f:facet><f:facetname="stop"><h:graphicImagevalue="#{msg.icon_null}"/></f:facet></a4j:status><rich:treevar="item"switchType="ajax"toggleOnClick="true"requestDelay="500"<!--contemobjetosdotipoTreeNodedeacordocomometododoBackBean-->value="#{treeBean.data}"<!-- o binding garante o estado da arvore entre uma requisicao e outra -->binding="#{treeBean.uiTree}"><!-- meus command link' são construidos com base nos NOS retornados pela TREE --><rich:treeNodetype="menu"><h:commandLinkimmediate="true"value="#{item.label}"action="#{treeBean.executeMethod}"><a4j:supportevent="onchange"/></h:commandLink></rich:treeNode></rich:tree></a4j:region>
…espero ter ajudado, boa sorte !!!
leandrokjava
opa desculpa cara. ter demoraqdo para responder…
tinha deixado este assunto um pouco de lado, agora que retornei estou implementando este componente.