Mam pewne błędy z typów Date i Long oraz Overlay Types. Oba zastosowania są długie, co nie jest dozwolone w GWT JSNI. Date serializuje się tak długo za pomocą metody getTime().GWT OverlayTypes Data i Long
Co robię teraz (i wydaje się działać) to:
z Java (przy użyciu Jacksona do serializacji do JSON)
Long myLong = new Long(50)
Date myDate = new Date();
public String getMyLong()
{
return String.valueOf(myLong);
}
public String getDate() {
return String.valueOf(date.getTime());
}
OD GWT (używając OverlayTypes)
/*Returning a Long*/
private final native String _getEscaletaId() /*-{ return this.escaletaId; }-*/;
public final Long getEscaletaId() {return new Long(_getEscaletaId());}
/*Returning a Date*/
private final native String _getDate() /*-{ return this.date; }-*/;
public final Date getDate() {return new Date(Long.valueOf(_getDate()));}
Czy to jest lepsze podejście do obsługi długich i innych typów specjalnych?
Dziękuję.
Dziękuję! Nie wiedziałem o JsDate. Co robi GWT z długą emulacją? Czy mogę obsłużyć dużą liczbę z długą emulacją tak jak ja? –
GWT emuluje longs jako parę liczb, co oznacza, że będą działać, ale będą również niewydajne. W rezultacie, jeśli to możliwe, używaj int lub debla. Więcej informacji: http://code.google.com/webtoolkit/doc/latest/DevGuideCodingBasicsCompatibility.html –
Dodatkowo: http://code.google.com/webtoolkit/doc/latest/DevGuideCodingBasicsJSNI.html#Important dla niektórych sugerowane rozwiązania. –