HTML5本地存储以字符串形式将数据保存为键值对。如果要保存的数据不是字符串数据,则在使用LocalStorage时,您负责与字符串的转换。对于与GWT RequestFactory一起使用的代理类,可以使用RequestFactory#getSerializer()进行字符串序列化。对于非代理对象,您可以使用JSON stringify and parse。
任何人都可以帮我“字符串化”一个对象以将其保存在客户端上吗? GWT有一些方法可以做到吗?
答案 0 :(得分:1)
您可以尝试 get-storage https://github.com/seanchenxi/gwt-storage,其主要功能是将java对象存储在html5存储中(localstorage / sessionstorage)
答案 1 :(得分:0)
您必须序列化对象。 您可以将Transferad的Payload存储为TransportReceiver中的String(如果您使用的是RequestFacotries):
public class CustomTransportReceiver implements TransportReceiver {
@Override
public void onTransportSuccess(String payload) {
//Save payload to LocalStorage
}
@Override
public void onTransportFailure(ServerFailure failure) {
//Handle Failure
}
}
创建自己的RequestTransport:
public class AppRequestTransportLocalStorage extends DefaultRequestTransport {
@Override
public void send(String payload, TransportReceiver receiver) {
super.send(payload, new CustomTransportReceiver());
}
}
你在哪里创建RequestFactory写道:
requestfactory.initialize(new SimpleEventBus(), new AppRequestTransportLocalStorage());
答案 2 :(得分:0)