我正在尝试从我的 mysql 数据库返回一个 arrayList 以在 GWT cellList 中使用,但我遇到了序列化问题。
类型 'com.cbs.ioma.client.Order' 未包含在可由此 SerializationPolicy 序列化的类型集中,或者无法加载其 Class 对象。出于安全考虑,此类型不会被序列化。: instance = Order [orderNumber=1001, orderer=test, assembler=1, dateCompleted=1969-12-31, dateSubmitted=1969-12-31, notes=rer, isComplete=假,类型=错误]
我有一个班级订单,但是当我尝试将其更改为
public class Order implements java.io.Serializable
程序崩溃并且没有显示错误消息。我对 GWT 内部的序列化了解不多,那么我将如何序列化一个类以在 GWT 中使用?我相信我在 service 和 serviceAync 类中有正确的函数名称。谢谢。
编辑:我将在这里添加更多内容。我尝试更改订单类以实现 isSerializable,然后出现此错误
12:55:49.793 [错误] [ioma] 未捕获的异常已转义
java.lang.ClassCastException: com.cbs.ioma.client.Order 无法在 com.google.gwt.text.shared.SimpleSafeHtmlRenderer.render(SimpleSafeHtmlRenderer.java:1) 中转换为 java.lang.String。 gwt.cell.client.AbstractSafeHtmlCell.render(AbstractSafeHtmlCell.java:80) 在 com.google.gwt.user.cellview.client.CellList.renderRowValues(CellList.java:527) 在 com.google.gwt.user.cellview。 client.AbstractHasData$View.renderRowValues(AbstractHasData.java:337) 在 com.google.gwt.user.cellview.client.AbstractHasData$View.replaceAllChildren(AbstractHasData.java:239) 在 com.google.gwt.user.cellview。 client.HasDataPresenter.resolvePendingState(HasDataPresenter.java:1351) 在 com.google.gwt.user.cellview.client.HasDataPresenter.access$3(HasDataPresenter.java:1062) 在 com.google.gwt.user.cellview.client。HasDataPresenter$2.execute(HasDataPresenter.java:984) 在 com.google.gwt.core.client.impl.SchedulerImpl$Task$.executeScheduled$(SchedulerImpl.java:50) 在 com.google.gwt.core.client.impl .SchedulerImpl.runScheduledTasks(SchedulerImpl.java:228) 在 com.google.gwt.core.client.impl.SchedulerImpl.flushFinallyCommands(SchedulerImpl.java:327) 在 com.google.gwt.core.client.impl.Impl.exit (Impl.java:266) 在 com.google.gwt.core.client.impl.Impl.entry0(Impl.java:257) 在 sun.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke (未知来源)在 java.lang.reflect.Method.invoke(未知来源)在 com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103) 在 com.google.gwt.dev.shell。 MethodDispatch.invoke(MethodDispatch.java:71) 在 com。com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChannelServer.java:293) 上 com.google.gwt.dev.shell 上的 google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:172)。 BrowserChannelServer.processConnection(BrowserChannelServer.java:547) at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:364) at java.lang.Thread.run(Unknown Source)
我不确定它为什么要将订单强制转换为字符串。我觉得我在这里缺少关于序列化的一些基本知识,有人可以指出我正确的方向。