2013-04-19 6 views
0

나는 GWT와 자바 스크립트에 새로 온 사람이다.GWT - 자바 배열을 자바 스크립트로 전달

자바 int [] 내 자바 스크립트 함수로 보내려고합니다. 나는 나를 위해 처리를 처리하기 위해 gwt-exporter를 사용하고있다. 이것이 내가 어떻게 일을 꾸몄 는가.

static class gwtExplorerTest implements Exportable { 

    @Export("$wnd.handleAnchorClick") 
    public static void handleAnchorClick(int param1, int param2 , int[] a1 , int[] a2) 
    { 
     //process things here   
    } 
} 

누군가 내가 여기에 필요한 배열을 전달하기 위해 자바 스크립트 코드를 도울 수 있습니까? 내가 현재 가지고하는 것은 다음과 같습니다.

rowVals 및 colVals 내가 전달하는 데 필요한 두 개의 배열입니다 내 JS 함수 호출과 같은
href="javascript:window.handleAnchorClick(" + currentRow + "," + currentColumn + "," + rowVals + "," + colVals + ",") " 

작동하지 않습니다. 누군가 나를 도울 수 있습니까?

감사합니다.

+1

내가 코드에서 추론 할 수있는 것처럼, 자바 스크립트에서 Java 함수로 배열을 전달하는 것입니다. 안 그래? 그렇다면 내 대답을보십시오 –

답변

0

gwt-exporter는이 구문을 지원합니다.

window.handleAnchorClick(1, 2, [3,4], [5,6]) 

귀하의 문제는 당신이 당신의 htmlhref 속성에서 내 보낸 메서드를 호출하려고하고 잘못된 구문을 사용하는 것입니다 : 같은 JS에서 호출해야합니다.

javascript: 태그가 필요 없기 때문에 먼저 href 대신 onClick 속성을 사용하는 것이 좋습니다. 기본값을 방지하는 것이 좋습니다. 그리고, 나는 오히려 구문 문제를 피하기 위해 호출을 수행하는 함수를 정의하고 싶습니다.

<script> 
    var currentRow = 1; 
    var currentColumn = 2; 
    var rowVals = [3,4]; 
    var colVals = [5,6]; 

    function mycall() { 
    window.handleAnchorClick(currentRow, currentColumn, rowVals, colVals); 
    } 
</script> 

<!-- I prefer this --> 
<a href="#" onClick="javascript:mycall()">click</a> 

<!-- But this should work as well --> 
<a href="#" onClick="window.handleAnchorClick(currentRow,currentColumn,rowVals,colVals)">click</a> 
+0

당신의 안내에 감사드립니다. 그리고 늦은 답변에 대해 유감스럽게 생각합니다. – frodo

0

json string을 사용하는 경우 handleAnchorClick 메소드에서 매개 변수 유형을 string으로 변경해야합니다. 그런 다음 json으로 타이핑해야합니다.

관련 문제