a invocar o método java no javascript [fechado]

Estou a tentar chamar um método java a um javascript. a classe java reside no lado do servidor.

A amostra de código Java é:

public class deleteconfig
{
  static boolean check = true;
  public static void initiate()
  {
    check = false; 
  }

}
Gostaria de ligar ao meu deleteconfig.iniciar () método no meu javascript

Qualquer ajuda é muito apreciada.

Saúde.
Author: Baba, 2012-07-18

4 answers

Como o javascript é um script do lado do cliente, não pode invocar os métodos java directamente que residem no servidor

Sem qualquer frameworks java em particular, você poderia fazer uso das páginas do servidor Java (JSP) para invocar o deleteconfig.iniciar () quando recebe um pedido de obter de javascript.

A Enviar O Pedido

Também poderá querer usar o JQuery (um plugin javscript - http://jquery.com/) para enviar um pedido de obtenção assíncrono para o servidor como este

//javascript code
function callInititiate(){

   //This sends a get request to executeInit.jsp
   //
   $.get('localhost/myWebbApp/executeInit.jsp');

}

$(callInitiate);

Pedido De Recepção

Do lado do servidor, você deve ter executeInit.jsp que chama deleteconfig.iniciar () método estático

//in executeInit.jsp
<%@ page import="deleteconfig"%>

<%
// executes initiate() static method
deleteconfig.initiate();

%>

Talvez ler mais sobre páginas de servidores Java possa ajudá-lo a começar!

 4
Author: Wee Kiat, 2012-07-18 08:11:26

O Javascript corre no seu navegador, o seu código java é implantado no seu contentor(Tomcat).

A única maneira de invocar isto é através de uma chamada Web. O seu javascript deverá invocar uma chamada ajax para um servlet(configurado na web.xml) e este servlet deverá invocar o seu método java.

Você também pode executar javascript no servidor.Ver NodeJS

 1
Author: ssk, 2012-07-18 08:06:47

Você pode usar JavaServerPage (JSP) ou Applets, aqui está um exemplo para JSP para a sua situação:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<HTML> 
 <HEAD> 
  <TITLE>JSP</TITLE> 
 </HEAD> 
 <BODY> 
  <H2>JSP </H2> 
  <UL> 
    <LI>Curent time: <%= new java.util.Date() %> 
    <LI>Host name: <%= request.getRemoteHost() %> 
    <LI>ID sesion: <%= session.getId() %> 
  </UL> 
  <% deleteconfig deletecfg = new deleteconfig(); %>
  <%= delectecfg.initiate(); =%>
 </BODY> 
</HTML> 

OS Elementos de programação JSP são:

  • expressões: {[1] } a expressão é avaliada e impressa no documento.
  • Scriptlet <% code%> o código é inserido no método servlet service.
  • declarações: <%! code%> o código é inserido na classe servlet, fora de qualquer método.

Para os elementos de programação JSP é possível e outro forma sintática, baseada na marcação XML:

  • <jsp:expression> Java expression </ jsp: expression>
  • <jsp:scriptlet> Java code </ jsp: scriptlet>
  • <jsp:declaration> Statement Java </ jsp: declaration>
 1
Author: que1326, 2017-06-29 03:27:45

O seu Javascript executa o lado cliente no navegador, pelo que não irá interagir normalmente com o seu servidor de código Java. Você pode querer expor o seu método Java como um endpoint de API repousante e realizar uma chamada AJAX no código Javascript.

Há algumas maneiras de ser tecnicamente possível, mas não sei porque o quer fazer dessa maneira.

O kit de ferramentas web do Google: - Ver: http://code.google.com/p/google-web-toolkit-doc-1-5/wiki/DevGuideRPCDeployment

 0
Author: Mike S., 2012-07-18 07:51:56