0

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を使用している場合、このエラーが発生するためです:/

4

1 に答える 1

0

ナイトリービルドエラーは、実際にはSmartGWTフォーラムに属しています。バグである可能性が非常に高いです。

もう1つ確認する必要があるのは、プロジェクトで生成された古いコードがクリーンであることです。確かに、warディレクトリで生成された古いコードを削除してください。

そして最後に、SmartGWTコンソールを使用します: http ://www.smartclient.com/smartgwt/javadoc/com/smartgwt/client/docs/Debugging.html-これらの不可解なエラーをより明確にすることがあります

于 2013-02-04T16:19:19.983 に答える