Código JSF gerado por classe

Oi!

Eu sei que muitos vão dizer pra eu continuar procurando no fórum, mas eu garanto que procuro desde de segunda tudo que possa fazer com que eu entenda como posso resolver a seguinte questão:

Sou novo no JSF e estou precisando colocar um HtmlCommandLink em um binding que exibe um panel gride…Este panelGride contem um HtmlColumnGroup que é formado via classe da seguinte forma:

 Primeiro eu vou faço uma lógica pra definir qual imagem e qual rótulo deve ser exibido. Depois adiciono a imagem a um HtmlCommandLink e depois adiciono o CommandLink a um HtmlColumn e finalmente incluo o rótulo ao mesmo HtmlColumn adicionando posteriormente o Column ao ColumnGroup que é passado para o panelGrid.

O problema é que não consigo trabalhar com o método da Classe HtmlCommandLink setAction() e assim não consigo fazer a imagem executar uma ação…quando clico nela a página só faz atualizar…

Eu vi vários exemplos que trabalharam com algo parecido mas não consegui aplicar aqui, parte pq não entendi e outras pq não funcionou ou a IDE não permitia…

Alguém pode me dá uma ajuda? pode ser uma dica, um tutorial, um outro exemplo com a mesma situação (não consegui aplicar com exemplos de outros componentes) ou qualquer coisa… se possível em português, meu inglês não é muito bom.

Obrigado pela atenção, espero respostas =]

olha só, quando usei, eu usei um botão com imagem, no seu caso você quer um link, mas acredito que vai servir pra você, pois no final das contas, o que vai ser mostrado é a imagem:

no seu bean, crie um botão:[code]
//declarando o botao no seu beam, faça um binding do seu html com este aqui
private HtmlCommandButton botao;

public HtmlCommandButton getBotao() {
if (botao == null) {
this.botao = new HtmlCommandButton();
this.botao.setId(“id1”);
//coloque o caminho pra sua imagem que vai aparecer
this.botao.setImage("/images/minhaIMAGEM.jpg");
this.botao.setStyle(“margin-left:1%”);
//aqui crie o methodBinding pra sua ação
MethodBinding mb = FacesContext.getCurrentInstance().getApplication() . createMethodBinding("#{myBean.send}", new Class[0]);
//"#{myBean.send}" coloque o nome do SEU BEAN . SEU METODO

                 //seta a ação no botão
                 botao.setAction(mb); 		
	}
	return botao;
}

[/code]

pronto, agora toda vez que clicar, ele vai no get do botão, faz o binding e executa a ação no bean e método que você passou…

quando eu tive que fazer, foi executar modalPanel, dentro de uma table, tudo feito assim no código, no jsp ficou só uma tag de binding, e várias classes de componentes… foi duro :lol:

flw Hewerton

Obrigado Javabuntu :smiley: , só que eu to com um problema… Como disse sou novo no JSF e não faço a menor idéia do que seja esse MethodBinding e quando tento criá-lo nem sequer importá-lo eu posso segundo meu Eclipse, não sei se tem que ter algo especial no método do bean… dê umas dicas aí por favor :oops:

Abraço

Pirmeiro, seus componentes de submit estão dentro de um form ? Talves seja isso o por que de apenas atualizar a pagina nao fazerem mais nada.

[ ]s,

binding nada mais é q vincular um componete do jsf ao seu bean, por exemplo …

<h:outputText binding ="#{managedbean.pojo.meuOutput}" value="#{managedbean.pojo.texto}" id="texto" />

e no seu pojo vc tem q ter os devidos metodos getters and setters pro seu binding tb …

class meu pojo {

private javax.faces.components.html.outputText meuOutput;

// os metodos getters and setters
}

dessa forma vc pode “brincar” com os componentes jsf via codigo java …

seria bom vc ler sobre o ciclo de vida, pra compreender melhor como funciona …
http://balusc.blogspot.com/2006/09/debug-jsf-lifecycle.html

Tão dentro de um form sim… :wink:

[quote]binding nada mais é q vincular um componete do jsf ao seu bean, por exemplo …
[/quote]

Eu já to meio que por dentro desse binding… O problema é que eu to criando esse panelGride por um binding e não consigo setar a ação de um commandLink ou vários commandlinks que recebem uma imagem dentro da lógica desse binding…

Aí o amigo javabuntu falou desse MethodBinding que não sei como fazer funcionar :roll: Alguém pode me dá mais detalhes

[quote=cidfillippe]
Aí o amigo javabuntu falou desse MethodBinding que não sei como fazer funcionar :roll: Alguém pode me dá mais detalhes[/quote]

colega o exemplo acima é o que precisa, já está pronto pra uso. Como você está iniciando, estude o livro Core JSF versão 2, vai te ajudar muito.

Caramba Javabuntu tá funcionando mesmo :D, a falha é que eu tava errando no nome do bean :oops:.
Vlw pela ajuda irmão e eu já peguei esse livro emprestado com um colega :stuck_out_tongue:

Abraço

Cara vc sabe como eu posso descrobir qual imagem foi clicada no momento em que o método do setAction for chamado?

Abraço