Hi olivier,
The code i have written as follows :
public void onModuleLoad()
{
try{ exportStaticMethod(this); }catch(Exception re){
MessageBox.alert(re.getMessage());
}
}
public native void exportStaticMethod(PMGWTHtmlUtils pmGWTHtmlUtils)
/*-{
$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);
};
if($wnd.callGWTUtils){
$wnd.callGWTUtils();
}
}-*/;
public void invokeGWT( String bId,String cId,String mId,String mName,String
cName ) throws RequestException {
System.out.println( " xxxxxxxxxxxxxxxxxxxxxxxxxxxx :"+ bId);
}
in javascript :
function callGWTUtils( bttnId )
{
alert('xxxxxxxxxxx'+ bttnId);
invokeGWT(
bttnId,"vvvvvvvvvvvvvvvv","vvvvvvvvvvvvvvvv","vvvvvvvvvvvvvvvv","vvvvvvvvvvvvvvvv"
);
/*if( currDispId != null ){
invokeGWT( bttnId,currDispId );
}*/
}
Html stuffs:
<html>
<head>
<!-- -->
<!-- Any title is fine -->
<!-- -->
<title>PM HTML-GWT Wrapper</title>
<!-- -->
<!-- The module reference below is the link -->
<!-- between html and your Web Toolkit module -->
<!-- -->
<meta name='gwt:module'
content='com.pm.output.html.gwt.model.comment.PMGWTHtmlUtils'></meta>
<!-- -->
<!-- Link CSS file -->
<!-- -->
<link type="text/css" rel='stylesheet' href='ExGwtExt.css'></link>
<link rel="stylesheet" type="text/css"
href="js/ext/resources/css/ext-all.css"></link>
<link rel="stylesheet" type="text/css"
href="js/ext/resources/css/xtheme-aero.css"/></link>
<script type="text/javascript"
src="js/ext/adapter/yui/yui-utilities.js"></script>
<script type="text/javascript"
src="js/ext/adapter/yui/ext-yui-adapter.js"></script>
<script src="js/sh/shCore.js"></script>
<script src="js/sh/shBrushJava.js"></script>
<style>
* {
font-family:Courier New,monospace;
padding: 0;
margin: 0;
white-space: nowrap;
font-size: 11px;
}
.dp-highlighter
{
white-space: nowrap;
overflow: visible;
width: 600px;
font-size: 11px;
font-family:Courier New,monospace;
}
</style>
</head>
<!-- -->
<!-- The body can have arbitrary html, or -->
<!-- we leave the body empty because we want -->
<!-- to create a completely dynamic ui -->
<!-- -->
<body>
<script type="text/javascript" src="js/ext/ext-all.js"></script>
<script type="text/javascript" src="js/ext/ext-base.js"></script>
<!-- -->
<!-- This script is required bootstrap stuff. -->
<!-- You can put it in the HEAD, but startup -->
<!-- is slightly faster if you include it here. -->
<!-- -->
<script language="javascript"
src="com.pm.output.html.gwt.model.comment.PMGWTHtmlUtils.nocache.js"></script>
<script language="javascript" src="js/ext/pmxslutils.js"></script>
<iframe onload="javascript:callGWTUtils('v7')"/>
</body>
</html>
Please let us know where i am wrong.
Regards
Manish
----- Original Message -----
From: "olivier nouguier" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Saturday, November 15, 2008 3:43 PM
Subject: Re: Problem with JSNI call to java method from javascript
>
> 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
-~----------~----~----~----~------~----~------~--~---