TreeNode primeFaces Dinamico
Boa noite estou criando um Menu treenode dinâmico mais o mesmo não carrega as funções;
bean
FuncaoController
Menu
bean
public class Funcao implements Serializable {
private static final long serialVersionUID = 1L;
private String nome;
private String pagina;
public Funcao(String nome, String pagina) {
this.nome = nome;
this.pagina = pagina;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getPagina() {
return pagina;
}
public void setPagina(String pagina) {
this.pagina = pagina;
}
}
FuncaoController
public FuncoesController() {
rootCadastros = new DefaultTreeNode("root", null);
/*
* TreeNode produto = new DefaultTreeNode(new Funcao("Produto", null),
* rootCadastros); new DefaultTreeNode("document", new Funcao("Marca",
* "/cadastros/marca.xhtml"), produto);
*/
TreeNode financeiro = new DefaultTreeNode(
new Funcao("Financeiro", null), rootCadastros);
new DefaultTreeNode("document", new Funcao("Banco",
"/cadastros/banco.xhtml"), financeiro);
new DefaultTreeNode("document", new Funcao("Agência Banco",
"/cadastros/agenciaBanco.xhtml"), financeiro);
}
public TreeNode getRootCadastros() {
return rootCadastros;
}
public void onNodeSelect(NodeSelectEvent event) {
pagina = ((Funcao) event.getTreeNode().getData()).getPagina();
tituloJanela = ((Funcao) event.getTreeNode().getData()).getNome();
janelaVisivel = true;
}
public TreeNode getFuncaoSelecionada() {
return funcaoSelecionada;
}
public void setFuncaoSelecionada(TreeNode funcaoSelecionada) {
this.funcaoSelecionada = funcaoSelecionada;
}
public String getPagina() {
return pagina;
}
public String getTituloJanela() {
return tituloJanela;
}
public boolean isJanelaVisivel() {
return janelaVisivel;
}
Menu
<p:tab title="Cadastros">
<h:form id="form">
<p:tree id="treeCadastros" selectionMode="single"
value="#{funcoesController.rootCadastros}" var="fun"
style="border: none">
<p:ajax event="select"
listener="#{funcoesController.onNodeSelect()}"
update=":panelCentro" oncomplete="layoutPrincipal.toggle('west')" />
<p:treeNode expandedIcon="ui-icon-folder-open"
collapsedIcon="ui-icon-folder-collapsed">
<h:outputText value="#{fun.nome}" />
</p:treeNode>
<p:treeNode type="document" icon="ui-icon-document">
<h:outputText value="#{fun.nome}" />
</p:treeNode>
</p:tree>
</h:form>
</p:tab>
John Lima
Curtidas 0
Respostas
Ronaldo Lanhellas
14/02/2015
Está faltando anotar a classe FuncoesController com o @ManagedBean e o Scopo (ex: @ViewScoped)
GOSTEI 0
Ronaldo Lanhellas
14/02/2015
Está faltando anotar a classe FuncoesController com o @ManagedBean e o Scopo (ex: @ViewScoped)
GOSTEI 0
John Lima
14/02/2015
Ronaldo na classe FuncaoController eu anotei com o ManageBean e com o escopo de aplicação sugerido no showcase do primeface
GOSTEI 0
Ronaldo Lanhellas
14/02/2015
Ocorreu algum erro ? Veja no console da IDE e no Console do Browser
GOSTEI 0
John Lima
14/02/2015
Boa tarde Ronaldo depois de muitas horas foi solucionado o problema reiniciei a maquina fui toma breja voltei executei e pronto funcionou ¬¬ é brincadeira
GOSTEI 0
John Lima
14/02/2015
os nós estão carregando corretamente, porem está dando erro no ajax
nessa chamada:
método correspondente
nessa chamada:
<p:ajax event="select" listener="#{funcoesController.onNodeSelect()}" update=":panelCentro" oncomplete="layoutPrincipal.toggle('west')" />
método correspondente
public void onNodeSelect(NodeSelectEvent event) {
pagina = ((Funcao) event.getTreeNode().getData()).getPagina();
tituloJanela = ((Funcao) event.getTreeNode().getData()).getNome();
janelaVisivel = true;
}
GOSTEI 0