a invocar o método java no javascript [fechado]
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.
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!
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
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>
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.
- ver: http://docs.jquery.com/Tutorials (tutorial ajax)
- ver: http://www.andonyar.com/rec/2008-12/gemse/demo/doc/dev/java.xhtml
- Ver: http://www.rgagnon.com/javadetails/java-0170.html
O kit de ferramentas web do Google: - Ver: http://code.google.com/p/google-web-toolkit-doc-1-5/wiki/DevGuideRPCDeployment