在我的应用程序中,我从位于服务器中的文件获取一些数据。数据存储在文本文件(.obj)中,所以我使用rpc来读取文件并获取数据。使用第三方库读取文件http://www.pixelnerve.com/processing/libraries/objimport/我使用ArrayLists将数据发送到客户端,基本上我发送这个:ArrayList [ArrayList [Vertex3dDTO]]其中Vertex3dDTO是包含浮点参数的可序列化对象。 ArrayList [Vertex3dDTO]包含在另一个可序列化的类Face3dDTO中,而ArrayList [Face3dDTO]包含在可序列化的类Group3dDTO中。ArrayList的反序列化GWT
package com.nyquicksale.tailorapp.shared;
import java.io.Serializable;
public class Vertex3dDTO implements Serializable {
float x,y,z;
public Vertex3dDTO(){
}
public Vertex3dDTO(float x, float y, float z){
this.x = x;
this.y = y;
this.z = z;
}
}
public class Face3dDTO implements Serializable {
ArrayList<Vertex3dDTO> vL = new ArrayList<Vertex3dDTO>();
Vertex3dDTO normal = new Vertex3dDTO();
Vertex3dDTO color = new Vertex3dDTO();
public Face3dDTO(){
}
public Face3dDTO(ArrayList<Vertex3dDTO> v) {
for(Vertex3dDTO v3dDTO : v){
vL.add(v3dDTO);
}
updateNormal();
}
public class Group3dDTO implements Serializable {
ArrayList<Face3dDTO> fL = new ArrayList<Face3dDTO>();
String name;
public Group3dDTO(){
}
public Group3dDTO(ArrayList<Face3dDTO> f) {
for(Face3dDTO f3dDTO : f){
fL.add(f3dDTO);
}
}
}
现在,一切都在发展模式运作良好,但是当我测试的托管模式的应用程序,我收到的回应一切:// OK [0,1,[“的java.util.ArrayList/4159755760“],0,7]
所以,我已经检查了一些其他问题,似乎问题是关于反序列化,但我没有找到具体的东西。
问题是我该怎么做才能让应用程序在托管模式下运行良好?
'Vertex3d是一个可序列化的'是否意味着它只是实现了java.io.Serializable?它的结构究竟是什么? –
这很奇怪......你确定你发送一个ArrayList Vertex3D实例吗? 如果GWT无法序列化一些东西,它会抱怨。 – Luismahou
我已经将部分代码添加到了问题中,因此您可以看到这些类是如何工作的。 – sosegon12