On Sat, Nov 15, 2008 at 8:31 AM, Manish Kumar <[EMAIL PROTECTED]> wrote: > > Hi, > > Thanks for your much needed help. U welcome :) > This seems working but it calls the same method twice so my original value > is lost. Strange could you send me your code ? > Any idea about this. > > Regards > Manish > > ----- Original Message ----- > From: "olivier nouguier" <[EMAIL PROTECTED]> > To: <[email protected]> > Sent: Friday, November 14, 2008 10:07 PM > Subject: Re: Problem with JSNI call to java method from javascript > > >> >> hum it should works ... (you don't give the "this" reference" ... >> >> Here a full sample that work :) >> >> ### GWT module >> package test.client; >> >> import com.google.gwt.core.client.EntryPoint; >> import com.google.gwt.user.client.Window; >> >> public class MyModule implements EntryPoint { >> >> public void onModuleLoad() { >> >> init(this); >> >> } >> >> public void gwtFunction(String message) { >> Window.alert(message); >> } >> >> private native void init(MyModule zis) /*-{ >> >> $wnd.injectedFunction = function(message){ >> >> [EMAIL PROTECTED]::gwtFunction(Ljava/lang/String;)(message) >> } >> >> if($wnd.jsOnload){ >> $wnd.jsOnload(); >> } >> >> }-*/; >> >> } >> >> ### >> >> ### HTML hosted page ### >> <html> >> <head> >> >> <!-- --> >> <!-- Any title is fine --> >> <!-- --> >> <title>Wrapper HTML for MyModule</title> >> >> <!-- --> >> <!-- Use normal html, such as style --> >> <!-- --> >> <style> >> body,td,a,div,.p{font-family:arial,sans-serif} >> div,td{color:#000000} >> a:link,.w,.w a:link{color:#0000cc} >> a:visited{color:#551a8b} >> a:active{color:#ff0000} >> </style> >> >> <!-- --> >> <!-- This script loads your compiled module. --> >> <!-- If you add any GWT meta tags, they must --> >> <!-- be added before this line. --> >> <!-- --> >> </head> >> >> <!-- --> >> <!-- The body can have arbitrary html, or --> >> <!-- you can leave the body empty if you want --> >> <!-- to create a completely dynamic ui --> >> <!-- --> >> <body> >> >> >> <!-- OPTIONAL: include this if you want history support --> >> <iframe src="javascript:''" id="__gwt_historyFrame" >> style="width:0;height:0;border:0"></iframe> >> >> <script type="text/javascript" language="javascript" >> src="test.MyModule.nocache.js"></script> >> <script type="text/javascript"> >> function jsOnload(){ >> injectedFunction("Helo"); >> } >> </script> >> >> </body> >> </html> >> ### >> >> On Fri, Nov 14, 2008 at 3:37 PM, Manish Kumar <[EMAIL PROTECTED]> >> wrote: >>> >>> Hi olivier, >>> >>> Thanks for your kind help. >>> >>> I tried this , this does not work with the exception >>> Could not find a native method with the signature >>> '@com.pm.output.html.gwt.model.comment.client.PMGWTHtmlUtils::exportStaticMethod()' >>> >>> which was not coming before. >>> >>> Please let us know where am I conceptually wrong.If anybody have >>> alternative >>> idea , plz pass it. >>> >>> Regards >>> Manish >>> >>> >>> ----- Original Message ----- >>> From: "olivier nouguier" <[EMAIL PROTECTED]> >>> To: <[email protected]> >>> Sent: Friday, November 14, 2008 7:36 PM >>> Subject: Re: Problem with JSNI call to java method from javascript >>> >>> >>>> >>>> Hi, >>>> I suspect (?) that your js code is call to soon ... >>>> The GWT is not yet initialized >>>> >>>> Please try this: >>>> ### GWT patch ### >>>> static >>>> native void exportStaticMethod() >>>> /*-{ >>>> $wnd.invokeGWT = function(bId,cId,mId,mName,cName){ >>>> [EMAIL >>>> PROTECTED]::invokeGWT(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;) >>>> (bId,cId,mId,mName,cName); >>>> }; >>>> // Lazy call to onLoad >>>> if($wnd.my_onload){ >>>> $wnd.my_onload(); >>>> } >>>> }-*/ >>>> ; >>>> ### JS Patch in HTML page #### >>>> // This function will be called by GWT module. >>>> function my_onload(){ >>>> invokeGWT( >>>> "vvvvvvvvvvvvvvvv","vvvvvvvvvvvvvvvv","vvvvvvvvvvvvvvvv","vvvvvvvvvvvvvvvv","vvvvvvvvvvvvvvvv" >>>> ); >>>> } >>>> >>>> By doing this the invokeGWT is call after the module initialise. >>>> >>>> HIH >>>> >>>> -- >>>> Si l'ignorance peut servir de consolation, elle n'en est pas moins >>>> illusoire. >>>> >>>> > >>> >>> >>> > >>> >> >> >> >> -- >> Si l'ignorance peut servir de consolation, elle n'en est pas moins >> illusoire. >> >> > > > > > >
-- Si l'ignorance peut servir de consolation, elle n'en est pas moins illusoire. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/Google-Web-Toolkit?hl=en -~----------~----~----~----~------~----~------~--~---
