본문 바로가기

나는개발자다/GWT

javascript에서 GWT 메소드 호출방법.

간단하다. ** 대소문자 주의 ** 하단 참고


package com.weebinar.client;

public class JSNI {


public static void initJsInterface() {

exportMyPhoneNumber();

}

public static native void exportMyPhoneNumber()/*-{

 $wnd.myPhoneNumber = @com.weebinar.client.JSNI::myPhoneNumber(*);

}-*/;


public static void myPhoneNumber(JsArrayMixed args) {

Window.alert("I'm JAVA METHOD");

Window.alert(args.getString(0));

}

}


JSNI라는 class를 만들었다.

그리고 onModuleLoad()에서

JSNI.initJsInterface() 메소드를 호출함으로써 초기화? 한다.




HTML 파일에서


    <script>

function callJava(){

window.myPhoneNumber (["call 010xxxxxxx"])

}

    </script>

<input type="button" value="Click me" onclick="callJava()">



혹시나 놓칠 수 있는데. 빨간색 부분을 잘 보면 된다.




*** ***************절대 참고 사항  ***********

GWT에서 $wnd.loginComplete 메소드를 만들고 javascript에서 window.loginComplete를 호출했는데

 반응이 없어 로드를 보내 window.login_complete로 변경이 되었다.