簡體   English   中英

GWT:使用JSNI的本機方法:如何動態調用方法

[英]GWT: Native method using JSNI: how to call methods dynamically

我正在使用GWT,並且創建了一個本地方法,該方法在類EverlinkActions中調用方法cmd_addspace,並且現在可以正常使用:

private static native String execute(String functionName,  Object[] vParams)/*-{
  try{          
      @es.gwt.client.dash.actions.impl.EverlinkedActions::cmd_addspace([Ljava/lanG/Object;)(vParams);          
  }catch(e){
      alert(e.message);
  }

}-*/;

如何使方法名稱動態化? 這意味着我要代替“ cmd_addspace”來調用方法“ functionName”,其名稱作為本機方法中的參數傳遞。

他們是使類名也變得動態的一種方法嗎? 我想要這樣的東西:

private static native String execute(String className, String functionName,  Object[] vParams)/*-{
  try{          
      @es.gwt.client.dash.actions.impl.className::functionName([Ljava/lanG/Object;)(vParams);          
  }catch(e){
      alert(e.message);
  }

}-*/;

謝謝你的幫助

不知道您要在這里實際實現什么,但是恐怕JSNI不能那樣工作。

諸如@es.gwt.client.dash.actions.impl.EverlinkedActions::cmd_addspace([Ljava/lanG/Object;)(vParams); 在編譯時需要將其作為完全可解析的符號,因為類和方法名稱已被其最小化版本取代。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM