2011-11-02 4 views
0

BlazeDS에서 flex를 실행하고 있습니다. 내 백엔드는 Java입니다.CallResponder를 사용할 때 요청할 추가 매개 변수를 전달하는 ActionScript

I가 액션 스크립트에서 다음과 같은 기능 :

override public function execute():void 
{ 
     super.execute(); 
     var responder:CallResponder = new CallResponder(); 
     responder.token = service.foo(param); 
     responder.addEventListener(ResultEvent.RESULT, onDataReceive); 
     responder.addEventListener(FaultEvent.FAULT , onDataReceiveError); 
} 

자바에서는 함수 foo는 다음과 같습니다

public void foo (String param) { 
    //some code 
} 

는 자바를 변경하지 않고 어떻게 든 요청에 ​​다른 매개 변수를 전달하는 것이 가능 함수 foo?

나는 (구문을 무시) foo는이 같은 일을하고 싶지 :

public void foo (String param) { 
    Request.getParameter("param2"); 
} 

나는 그것이 분명 바랍니다.

도움 주셔서 감사합니다.

+0

저는 CallResponder에만 국한되지 않습니다. 어쩌면 CallResponder가하는 일을 할 수있는 또 다른 기능이 있지만이 옵션도 있습니다. 내 주요 목표는 가능하다면 Java 함수의 서명을 변경하지 않는 것입니다. – netta

답변

1

더 이상 매개 변수를 전달하지 않으려면 Java 메소드의 서명을 변경해야합니다. 또는 일반 Map을 입력 매개 변수로 사용하고 모든 매개 변수를 입력 매개 변수로 밀어 넣을 수 있습니다.

+0

답변 해 주셔서 감사합니다. 어쨌든 자바 코드를 변경할 필요가 없도록 이것을 수행 할 수 있습니까? – netta

+0

코넬이 맞습니다. Java 메소드 시그니처를 변경해야합니다. 까다로워지면서 다른 매개 변수를 몰래 넣으 려하지 마십시오. 그렇게 할 수없는 이유가 있습니까? – sean

+0

모든 Java API를 완벽하게 변형 할뿐만 아니라이를 호출하는 모든 Actionscript 메소드를 변경합니다. 그래서 근본적으로 2 시간의 근무 시간이 있습니다 :-). 추가 매개 변수를 제공하는 방법이있는 경우 시간 만 걸릴 수 있습니다. 나는 "아무것도 몰래 들어가"싶지 않다. 이렇게 합법적 인 방법이 있는지 궁금 해서요. – netta