JavaScript chamar um método Java

Pessoal pesquisei ja no Forum e no proprio Google, mas nao achei nenhum exemplo.

Como faço uma função JavaScript chamar um método metodo Java? Estou usando JSF.

[code]function executaMeuMetodoJava(form){

form.action = ""; // --> Aqui faria a chamada do método, mas o que eu coloco aqui?

}
[/code]

Cara,

Não sei se funciona no JSF mas em JSP o DWR http://directwebremoting.org/dwr/index.html faz.

Voce pode mapear a execução de um método de Managed Bean com PrettyFaces. Aí voce cria uma URL que servirá para chegar e executar este método.

E na action do form vpce coloca essa URL que está mapeada com método do MB.

[quote=Lucas Emanuel]Voce pode mapear a execução de um método de Managed Bean com PrettyFaces. Aí voce cria uma URL que servirá para chegar e executar este método.

E na action do form vpce coloca essa URL que está mapeada com método do MB.[/quote]

Eu to usando richfaces tem como fazer com o que to usando? rich faces + ajax + jsf

[quote=evertonsilvagomesjava][quote=Lucas Emanuel]Voce pode mapear a execução de um método de Managed Bean com PrettyFaces. Aí voce cria uma URL que servirá para chegar e executar este método.

E na action do form vpce coloca essa URL que está mapeada com método do MB.[/quote]

Eu to usando richfaces tem como fazer com o que to usando? rich faces + ajax + jsf[/quote]

http://ocpsoft.com/prettyfaces/

<a4j:jsFunction id="js1" name="updateValores" action="#{meuBean.metodo}" />

Cria a função javascript pelo a4j e no action vc consegue passar o metodo do bean.

[quote=vi-gb]<a4j:jsFunction id="js1" name="updateValores" action="#{meuBean.metodo}" />

Cria a função javascript pelo a4j e no action vc consegue passar o metodo do bean.[/quote]

Mas como vou chamar essa função de dentro de outra function js?

Não entendi =/

chama pelo nome, neste caso updateValores();

Vou tentar aqui e ja posto. Obrigado desde já.

Outra duvida, eu tenho um rich:panel onde estão meus componentes, tem como passar esse panel pro JavaScript ou so da pra passar um form?

vi-gb veja como eu fiz:

<h:selectOneRadio onclick="atualizaRadiosButton(form,this);" id="radioVisualizarProponente" > <f:selectItem itemValue="#{true}" /> <a4j:jsFunction id="js1" name="getProcesso" action="#{PropostaBB.getProcessoMarcadoRadioButton}"/> </h:selectOneRadio>

E no JavaScript:

[code]function atualizaRadiosButton(form, radioButton){

alert("java script");

desabilitaRadiosButton(form);

radioButton.checked = true;		

getProcesso(); // NAO ERA PRA CHAMAR A FUNCTION CRIADA NO AJAX?

alert("radio true");

}

function desabilitaRadiosButton(form){

for(i=0; i<form.elements.length; i++){
  
        if(form.elements[i].type == 'radio')   
        {   alert("é um radio");
            form.elements[i].checked = false;   
        }
}

}
[/code]

Noooo funcionou hehee, brigadao vi-gb \o/

estou precisando fazer a mesma coisa, só que não estou conseguindo retornar um valor do bean exemplo:

<a4j:jsFunction id="js1" name="getTeste" action="#{testeBean.teste}"/>

no js

function chamarMetodo() { var retorno = getTeste(); alert(retorno); }

no bean

public String teste() { return "Veio do bean"; }

a variavel retorno não ta recebendo o valor retornado pelo bean, o método é chamado corretamento só que não to conseguindo pegar o retorno.

tem como um metodo de impressao achar um arquivo do c: ?

Obrigado pela ajuda!