我的应用程序在Vaadin版本7.3.6中运行得很好。现在,我将版本升级到7.4.8,我的应用程序遇到了一个问题,抛出"typeerror无法读取未定义的属性'noLayout‘“。
我注意到只有在Chrome浏览器上才能看到错误消息,但是在IE11和火狐中,我无法看到错误消息,但是在所有浏览器中仍然存在问题。
错误信息:-
Fri Jun 19 11:05:56 GMT+530 2015 com.vaadin.client.ApplicationConnection
SEVERE: Error updating connector statescom.google.gwt.core.client.JavaScriptException: (TypeError) : Cannot read property 'noLayout' of undefined
孙俊21 : 17:37:45 GMT+530 2015 com.vaadin.client.ApplicationConnection INFO:*处理来自服务器孙俊的类型继承映射21 17:37:45 GMT+530 2015 com.vaadin.client.ApplicationConnection信息:处理来自服务器的类型映射21 17:37:45 GMT+530 2015 com.vaadin.client.ApplicationConnection信息:处理资源依赖关系21 17:37 GMT+530 2015 com.vaadin.client.ApplicationConnection信息:*处理元信息21 17:37: 37:37:3745 GMT+530 2015 com.vaadin.client.ApplicationConnection INFO:*创建连接器(如果需要)孙俊21 17:37:45 GMT+530 2015 com.vaadin.client.ApplicationConnection INFO:*更新连接器状态孙俊21 17:37:45 GMT+530 2015 com.vaadin.client.ApplicationConnection严重:错误更新连接器com.vaadin.client.ApplicationConnection (TypeError):无法读取未定义的Unknown.Kbc(com.xyz.na.myApp.application )的属性'noLayout‘)在Unknown.Abc(com.xyz.na.myApp.application.widgetset.myAppWidgetset-0.js) at Unknown.Lac(com.xyz.na.myApp.application.widgetset.myAppWidgetset-0.js) at Unknown.Jac(com.xyz.na.myApp.application.widgetset.myAppWidgetset-0.js) at Unknown.gnc(com.xyz.na.myApp.application.widgetset.myAppWidgetset-0.js)在Unknown.eval(com.xyz.na.myApp.application.widgetset.myAppWidgetset-0.js) at Unknown.HG(com.xyz.na.myApp.application.widgetset.myAppWidgetset-0.js) at Unknown.KG(com.xyz.na.myApp.application.widgetset.myAppWidgetset-0.js) at Unknown.eval(com.xyz.na.myApp.application.widgetset.myAppWidgetset-0.js) at Unknown._f(http://localhost:19080/myApp/VAADIN/vaadinPush.debug.js?v=7.4.8) 孙俊21 : 17:37:45 GMT+530 2015 com.vaadin.client.ApplicationConnection信息:*处理地区位置21 17:37:45 GMT+530 2015 com.vaadin.client.ApplicationConnection信息:*更新连接器层次结构GMT+530 21 17:37:45 GMT+530 2015 com.vaadin.client.ApplicationConnection INFO:* Running @DelegateToWidget 21 17:37:45 GMT+530 2015 com.vaadin.client.ApplicationConnection INFO:*发送状态更改事件GMT+530 2015 GMT+530 21 :37:45GMT+530 2015 com.vaadin.client.ApplicationConnection INFO:*将UIDL传递给Vaadin 6型连接器孙俊21 17:37:45 GMT+530 2015 com.vaadin.client.ApplicationConnection INFO:*执行服务器到客户端RPC调用孙俊21 17:37:45 GMT+530 2015 com.vaadin.client.ApplicationConnection
我怀疑在代码下面的com.vaadin.client.ApplicationConnection类中抛出了noLayout异常。
if (onlyNoLayoutUpdates) {
Profiler.enter("updateConnectorState @NoLayout handling");
for (String propertyName : stateJson.keys()) {
Property property = stateType
.getProperty(propertyName);
if (!property.isNoLayout()) {
onlyNoLayoutUpdates = false;
break;
}
}
Profiler.leave("updateConnectorState @NoLayout handling");
}
我一直在尝试以某种方式调试这段代码,这样我就可以确定问题了,但还没有成功。你有什么线索吗?
发布于 2015-06-20 16:49:00
通过将?debug添加到URL,打开Vaadin调试窗口,并在那里检查客户机和服务器是否使用相同的Vaadin版本。很可能客户端仍在使用7.3.6版本。
如果您使用自己的Widgetset,则必须重新编译它以解决问题。
https://stackoverflow.com/questions/30933134
复制相似问题