Não executar o conteúdo das funções JavaScript ao carrega uma página JSP.

Pessoal estou com uma dificuldade que não estou conseguindo resolver.
É o seguinte, tenho uma página JSP e nela algumas funções em JavaScript, o problema é que o conteúdo da função esta sendo executada quando carrego a página JSP. Queria que este conteúdo fosse executado somente no método "onclick" de um "button", isso é possível?

Segue para de código:

========================================================
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Habilita Atlys Loja</title>

<script language="javascript" type="text/javascript" >

function teste(){
<!-- Todo este conteúdo esta sendo executado ao carrega a pagina!!!!
<%
out.println("Iniciando Pagina!!!\n");
int fel = Conexao.VerificaStatus();
String texto = Conexao.HabilitaAtlys( fel );
%>
}
</script>

</head>
========================================================

Queria que ele fosse executado somente na parte do código abaixo:

<td> <button type="button" id="btDesativa" onclick="teste()"></button></td>
 
Ahm, pois... isso nao da.

Ou melhor.. a tua funcao javascript e' executada (se colocares la' um alert() pelo meio vais ver que e' executado). So' que o que tu tens dentro da tua funcao javascript e' codigo JSP que so' poderia ser executado pelo servidor.

Dentro da funcao teste tens de ter codigo javascript.
 
Como o corrspt disse, isso não é possível dessa forma: o que está dentro do <% %> é avaliado/executado em load time quando estás a criar a página. O resultado dessa avaliação é injectado no corpo da função, e é depois esse resultado que é avaliado onlick.

A minha praia não é Java, mas em .net o que eu faria era, na tua função javascript, fazer uma chamada AJAX ao método de backend. Qualquer coisa do género:

Código:
$.ajax({
    url: "/MyApp/MyClass/MyFunc",
    type: "GET",
    success: function(response){
        //handle returned value
    },
    error: function(e){ 
        //handle error
    }
});

Aconselhava-te a procurar no google por algo género "jsp ajax call backend method"
 
Back
Topo