javagwt-Celltable和RPC
我有一个RPC问题,所以不可能继续。通过RPC的静态类 我在我的:…Impl.java中得到了这个javagwt-Celltable和RPC,gwt,rpc,celltable,Gwt,Rpc,Celltable,我有一个RPC问题,所以不可能继续。通过RPC的静态类 我在我的:…Impl.java中得到了这个 public static class dateils2 { private final String be; private final String name; public dateils2(String name, String be) { this.name = name; this.be= be;
public static class dateils2 {
private final String be;
private final String name;
public dateils2(String name, String be) {
this.name = name;
this.be= be;
}
}
它抛出:
类型“com.mi.hu.server.TestImpl$dateils2”未包含在此可由此序列化策略序列化的类型集中,或者无法加载其类对象。出于安全目的,不会序列化此类型。:instance=com.mi.hu.server.server.TestImpl$dateils2@33cb8da5
我想将Celltable的数据作为Return typ.mi提供
这是我的全部代码:
@SuppressWarnings("serial")
public class TestIml extends RemoteServiceServlet implements TestService{
public static class dateils2 {
private final String bestellung;
// private final Date datum;
private final String name;
public dateils2(String name, String bestellung) {
this.name = name;
//this.datum = datum;
this.bestellung = bestellung;
}
}
Connection con=null;
Statement st=null;
ResultSet rs=null;
String query;
public ArrayList<dateils2> mi = new ArrayList<dateils2>();
String url="jdbc:sqlserver://hp-compaq;instanceName=E;databaseName=Ba";
public void call()
{
try
{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
}
catch(ClassNotFoundException e)
{
System.out.print(e.getMessage());
}
try
{
con=DriverManager.getConnection(url, "f", "f");
st=con.createStatement();
}
catch(SQLException e)
{
System.out.println(e.getMessage());
}
}
/**
* Query
*/
@Override
public ArrayList show() {
call();
try
{
rs = st.executeQuery("SELECT * FROM BES");
while(rs.next()){
mi.add( new dateils2(rs.getString("NA"), rs.getString("BS")));
}
con.commit();
}
catch (Exception e)
{
System.err.println("Error: " + e.getMessage());
e.printStackTrace();
}
finally {
try {
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// TODO Auto-generated method stub
return mi;
}
}dateils2不可序列化,因为:
它没有零参数构造函数和非最终字段或CustomFieldSerializer
它不实现可序列化
它位于服务器包中,从客户端代码中可能看不到,通常您会将DTO放在共享包中,或者可能放在客户端包中;假设您遵循GWT项目布局约定
请参见因此我将其编辑为:公共类dateils2实现可序列化{String bestellung;String name;}为什么要删除static关键字?内部类不可序列化,因为必须有其包含类的实例才能实例化它们。哦,还有,您的类在客户端代码中可见吗?服务器端代码(如servlet)通常不是这样,因为它不可转换为JavaScript