Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从javascript代码调用GWT方法_Gwt_Gxt - Fatal编程技术网

如何从javascript代码调用GWT方法

如何从javascript代码调用GWT方法,gwt,gxt,Gwt,Gxt,我在Gxt组件的ListView中使用以下代码块,onRender将以下模板设置为默认模板。我可以用图像+模型值渲染组件。我想为渲染图像编写onClick事件 这里是我将模板设置为ListView的位置。 rightListView.setTemplate(getTemplate(moduleBaseURL)); 模板设置: private native String getTemplate(String base) /*-{ return ['<tpl for=".">',

我在Gxt组件的ListView中使用以下代码块,onRender将以下模板设置为默认模板。我可以用图像+模型值渲染组件。我想为渲染图像编写onClick事件

这里是我将模板设置为ListView的位置。

 rightListView.setTemplate(getTemplate(moduleBaseURL));
模板设置:

private native String getTemplate(String base) /*-{  
return ['<tpl for=".">',  
'<div class="thumb"><img src="'+base+'images/default/tabs/tab-close.gif" width="15" height="15" style="CURSOR:pointer"/>{bookCode}</div>',  
'</div>',  
'</tpl>',  
''].join("");  
私有本机字符串getTemplate(字符串基)/*-{
返回[“”,
“{bookCode}”,
'',  
'',  
'')。加入(“”);
}-*/)

屏幕截图


单击关闭图像,我有一些gwt代码要执行,有没有办法做到这一点。

是的。。您可以在gwt代码中编写本机javascript

public static native void exportMyFunction() /*-{
   $wnd.myFunction =
      $entry(@com.myCompany.myProject.client.myClass::onCloseGwtFunction());
}-*/;
public static void onCloseGwtFunction()
{
   // your gwt code tobe executed 
}
初始化应用程序时,必须从gwt类调用exportMyFunction()。你可以给

<img onClick='window.myFunction()' src="'+base+'images/default/tabs/tab-close.gif" width="15" height="15" style="CURSOR:pointer" /> 


在您的近景图像中单击一次

是。。您可以在gwt代码中编写本机javascript

public static native void exportMyFunction() /*-{
   $wnd.myFunction =
      $entry(@com.myCompany.myProject.client.myClass::onCloseGwtFunction());
}-*/;
public static void onCloseGwtFunction()
{
   // your gwt code tobe executed 
}
初始化应用程序时,必须从gwt类调用exportMyFunction()。你可以给

<img onClick='window.myFunction()' src="'+base+'images/default/tabs/tab-close.gif" width="15" height="15" style="CURSOR:pointer" /> 


在生产环境中,从近景图像中单击一次,Java将被翻译成JavaScript代码,人类无法读取。因此,您不能只编译应用程序,然后调用项目中的某个类,因为它将在编译期间重命名

您可以做的是导出其中一种方法,这样它将在全球范围内可用。然后您将能够从JavaScript调用导出的Java方法

Java->JS和JS->Java之间的通信是使用GWT文档中在以下链接下解释的JSNI[JavaScript本机接口]完成的:


在生产环境中,Java将被翻译成JavaScript代码,人类无法阅读。因此,您不能只编译应用程序,然后调用项目中的某个类,因为它将在编译期间重命名

您可以做的是导出其中一种方法,这样它将在全球范围内可用。然后您将能够从JavaScript调用导出的Java方法

Java->JS和JS->Java之间的通信是使用GWT文档中在以下链接下解释的JSNI[JavaScript本机接口]完成的:


谢谢你的快速回复。现在我可以为img onClick事件编写侦听器了。非静态方法可以这样调用吗?谢谢您的快速响应。现在我可以为img onClick事件编写侦听器了。非静态方法可以这样调用吗?