当我使用smartgwt 2.2时,我的smartgwt有问题,但是当我使用smartgwt 4.0b(夜间构建)时,我遇到了错误:
00:00:48,253 [ERROR] Uncaught exception escaped
com.google.gwt.core.client.JavaScriptException: (null) @com.smartgwt.client.widgets.tree.Tree::create()([]): null at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:249) at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:136) at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:571) at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:279) at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91) at com.smartgwt.client.widgets.tree.Tree.create(Tree.java) at com.smartgwt.client.core.BaseClass.getOrCreateJsObj(BaseClass.java:120) at com.smartgwt.client.widgets.tree.TreeGrid.setData(TreeGrid.java:2393) at pl.fizzycomp.departments.gwt.client.DepartmentsMainView.setModelData(DepartmentsMainView.java:175) at com.test.departments.gwt.client.DepartmentsMainPresenter.setDepartments(DepartmentsMainPresenter.java:208) at com.test.gwt.client.DepartmentsApp$2.onSuccess(DepartmentsApp.java:80) at com.test.gwt.client.DepartmentsApp$2.onSuccess(DepartmentsApp.java:1)
我不知道这是什么问题这是我在DepartmentsMainView中的代码:
tree = new Tree();
tree.setModelType(TreeModelType.PARENT);
tree.setNameProperty(DepartmentTreeNode.NAME_FIELD);
tree.setParentIdField(DepartmentTreeNode.PARENT_ID_FIELD);
tree.setIdField(DepartmentTreeNode.ID_FIELD);
tree.setData(nodes.toArray(new DepartmentTreeNode[nodes.size()]));
grid.setData(tree);
和我的DepartmentTreeNode:
public class DepartmentTreeNode extends TreeNode implements IDepartmentTreeNode {
public static final String ID_FIELD = "idField";
public static final String NAME_FIELD = "nameField";
public static final String CODE_FIELD = "codeField";
public static final String DESCRIPTION_FIELD = "descriptionField";
public static final String PARENT_ID_FIELD = "parentId";
public static final String VERSION_FIELD = "versionField";
public DepartmentTreeNode(DepartmentDto dto) {
setTitle(dto.getName());
setAttribute(ID_FIELD, dto.getId());
setAttribute(PARENT_ID_FIELD, dto.getParentId());
setDepartmentName(dto.getName());
setAttribute(CODE_FIELD, dto.getCode());
setAttribute(DESCRIPTION_FIELD, dto.getDescription());
setAttribute(VERSION_FIELD, dto.getVersion());
}
所以它看起来很好我正在通过sysout对它检查对象DepartmentTreeNode它的好处。那有什么不对?
在智能gwt控制台Resoult中我只得到了信息:
16:03:28.801:INFO:Log:initialized
16:03:28.848:WARN:Log:NOTE: Firebug is enabled. Firebug greatly slows the performance of applications that make heavy use of JavaScript. Isomorphic highly recommends Firebug for troubleshooting, but Firebug and other development tools should be disabled when assessing the real-world performance of SmartClient applications.
16:03:31.717:WARN:Log:New Class ID: 'DataView' collides with ID of existing object with value 'function DataView() {
[native code]
}'. Existing object will be replaced.
This conflict would be avoided by disabling ISC Simple Names mode. See documentation for further information.
16:03:32.782:INFO:Log:isc.Page is loaded
我也清理我的项目mvn clean install,我认为这不是每晚构建的问题。因为如果我使用的是smartgwt2.5,我会收到此错误:/
答案 0 :(得分:0)
每晚构建错误确实属于SmartGWT论坛。它很可能是一个错误。
您应该确保的另一件事是您的项目是干净的旧生成代码。要确定,请删除war目录中的任何旧生成代码。
最后,使用SmartGWT控制台:http://www.smartclient.com/smartgwt/javadoc/com/smartgwt/client/docs/Debugging.html - 它有时会使这些神秘错误更加清晰