Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javagwt-Celltable和RPC_Gwt_Rpc_Celltable - Fatal编程技术网

javagwt-Celltable和RPC

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;

我有一个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;
        }
      }
它抛出:

类型“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