sobre net llamar llamada etiquetas escribir ejemplos ejecutar desde debe cómo código colocarse codigos codigo asp java javascript wicket

net - ¿Cómo puedo llamar al código Java desde el código JavaScript en Wicket?



llamar javascript desde html (4)

Si puedo hacer esto, ¿cómo puedo llamar al código Java (métodos, por ejemplo) desde el código JavaScript, en Wicket?


Suponiendo que se refiera a que JavaScript se ejecuta en el cliente, usted causa que se realice una redirección HTTP al servidor y que su servlet reaccione a la solicitud de la URL dada.

Esto se conoce como Ajax , y hay una serie de bibliotecas que lo ayudan a hacerlo ...


erk. La respuesta correcta sería ajax call backs. Puede codificar manualmente el js para engancharlo en el wicket js, o puede configurar las devoluciones de llamadas desde componentes de wicket en java. Por ejemplo, desde AjaxLazyLoadPanel:

component.add( new AbstractDefaultAjaxBehavior() { @Override protected void respond(AjaxRequestTarget target) { // your code here } @Override public void renderHead(IHeaderResponse response) { super.renderHead( response ); response.renderOnDomReadyJavascript( getCallbackScript().toString() ); } }

Este ejemplo muestra cómo agregar código de devolución de llamada a cualquier Componente en Wicket. Después de que el evento OnDomReady se active en su navegador, cuando cargue una página, Wicket causará su js enging, para volver a llamar a su código, utilizando Ajax, al método ''responder'' mostrado arriba, en cuyo punto puede ejecutar código Java en el servidor, y potencialmente agregar componentes al objetivo ajax para volver a generar.

Para hacerlo manualmente, desde js, puede enganchar en el sistema de wicket imprimiendo getCallbackScript (). ToString () a un atributo en un componente de wicket, al que luego podrá acceder desde js. Llamar a esta url desde js manualmente con wicket''s wicketAjaxGet desde wicket-ajax.js.

Eche un vistazo a la lista de correo para obtener un montón de conversación sobre este tema: http://www.nabble.com/Wicket-and-javascript-ts24336438.html#a24336438


Extracto de https://cwiki.apache.org/WICKET/calling-wicket-from-javascript.html

Si agrega cualquier clase que extienda AbstractDefaultAjaxBehavior a su página, wicket-ajax.js se agregará al encabezado de su página web. wicket-ajax.js le proporciona dos métodos básicos para llamar a su componente:

function wicketAjaxGet(url, successHandler, failureHandler, precondition, channel)

y

function wicketAjaxPost(url, body, successHandler, failureHandler, precondition, channel)

Aquí hay un ejemplo:

JavaScript

function callWicket() { var wcall = wicketAjaxGet(''$url$'' + ''$args$'', function() { }, function() { }); }

$url$ se obtiene del método abstractDefaultAjaxBehavior.getCallbackUrl() . Si pega la Cadena devuelta desde ese método en su navegador, invocará el método responder, lo mismo aplica para el método javascript.

Opcionalmente, puede agregar argumentos al agregarlos a la cadena URL. Toman la forma &foo=bar .

obtienes los argumentos opcionales en el método de respuesta de Java como este:

Map map = ((WebRequestCycle) RequestCycle.get()).getRequest().getParameterMap();

o esto:

String paramFoo = RequestCycle.get().getRequest().getParameter("foo");