Home > 직장생활 > dwr과 varargs

dwr과 varargs

Varargs(Variable-length argument: 가변변수)을 사용하는 Java method를 DWR을 이용해서 javascript로 호출하면, 다음과 같은 에러가 발생한다.


org.directwebremoting.extend.MarshallException: Error marshalling java.lang.Object: No converter found for 'class java.lang.Object'. See the logs for more details.
at org.directwebremoting.dwrp.DefaultConverterManager.convertInbound(DefaultConverterManager.java:147)
at org.directwebremoting.convert.ArrayConverter.convertInbound(ArrayConverter.java:93)
at org.directwebremoting.dwrp.DefaultConverterManager.convertInbound(DefaultConverterManager.java:159)
at org.directwebremoting.dwrp.BaseCallMarshaller.marshallInbound(BaseCallMarshaller.java:155)

예를 들어 java.text.MessageFomat 클래스의 format 이라는 메소드는 다음과 같은데, varargs를 사용하고 있다.


public static String format(String pattern, Object ... arguments) {
MessageFormat temp = new MessageFormat(pattern);
return temp.format(arguments);
}

처음엔 이 함수를 호출하려고 javascript의 array 객체를 사용하면 될까 했지만, 실패. 그래서 다시 새로운 javascript object를 만들고, 그 속에 array를 집어넣으면 될까 했지만, 그것도 실패. 사실, javascript의 object는 기본적으로 array의 성격을 띄고 있기 때문에 결과는 같은 것이 당연할지도 모른다.

결국, Nabble질문을 올렸는데, 결과는 DWR 2는 varargs를 지원하지 않는다는 답변이 돌아왔다. -_-;;; 생고생을 했건만. DWR의 버전3에서 지원될 예정이라고 하니, 기다리는 수 밖에. 그러니까, 사실상 DWR 2는 JDK5를 완벽히 지원하지 않는 셈이 되는 것이다.

    Related Posts
  • No related posts

코맨트:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://www.duppio.com/blog/614.html/trackback
Listed below are links to weblogs that reference
dwr과 varargs from duppio.com

Home > 직장생활 > dwr과 varargs

검색
Feeds
Meta

Return to page top