2013-06-12 4 views
0

을 통해 서버에 전달 여기서찾을 수 없습니다 객체는 내가 <code>ArrayList</code><code>ShortcutVirtualSystemEntry</code>의이 GWT-RPC

public class ShortcutVirtualSystemEntry extends VirtualSystemEntry implements IsSerializable { 

    public ShortcutVirtualSystemEntry(String id, String label, String image, 
     String tooltip, String parent, int x, int y, int tray, Command action) { 
    super(id, label, image, tooltip, parent, x, y, tray, action); 
    } 

public ShortcutVirtualSystemEntry() { 

} 

} 

나는 모든 개체의 수 있습니다 RPC 호출을 통해 서버에 클라이언트에서 ArrayList을 통과하려고 목록 인스턴스화하지만 데이터가 없습니다 여기 RPC :

docService.saveDocument2(shortcuts, 
       new AsyncCallback<Void>() { 

        @Override 
        public void onFailure(Throwable caught) { 
         Window.alert("Faliled"); 
         caught.printStackTrace(); 
        } 

        @Override 
        public void onSuccess(Void result) { 
         Window.alert("Success"); 

        } 
       }); 

서버 측 :

@Override 
public void saveDocument2(
     List<ShortcutVirtualSystemEntry> shortcuts) { 
    for(ShortcutVirtualSystemEntry v: shortcuts) 
    { 
     System.out.println("Image "+v.getImage());// Prints : Image null... 
    } 


} 

왜 목록 데이터가 손실됩니까? 제가

+0

개체 – swamy

답변

1

: 사전에 너무 많은 잘못

감사하고 있어요 것은 내가 GWT에 대해 잘 모른다. 그러나 RPC의 공통 규칙은 컬렉션의 요소가 직렬화 될 수 있도록하는 것입니다. 따라서 직렬화 가능하지만 목록의 객체가 직렬화 가능하지 않은 목록을 보내는 경우 RPC를 통해 요소를 올바르게 가져 오지 못합니다. 목록에있는 객체가 직렬화 가능해야합니다.

+0

의 목록을 반환 코드 Aysnc 통화에서인가 – YouYou

0

내가 말할 수있는 한, 코드가 작동해야합니다. 아마도 문제가 다른 곳에서 발생했을 수 있습니다. 즉, 생성자에서 이미지를 설정하는 것을 잊었거나 이미지를 설정하지 않은 것입니다.

GWT가 중요한 점은 RPC를 통해 전송하는 객체가 Serilizable이며 종종 이러한 객체에 대해 빈 생성자를 만드는 데 도움이된다는 것입니다. 내 어리 석음을 위해 내가``ShortcutVirtualSystemEntry``직렬화의 필드 인``만들기 위해 Command``을 잊지 정보 것을 그러나 알고 있지만

Sarajog