向Xpages扩展库Accordion控件添加树节点

向Xpages扩展库Accordion控件添加树节点,xpages,accordion,xpages-ssjs,treenode,outline,Xpages,Accordion,Xpages Ssjs,Treenode,Outline,我正在尝试向扩展库Accordion控件动态添加节点。整个想法是构建一个菜单,其中的选项来自一个视图(视图条目)。我从一个非常基本的逻辑开始,我从中得到(感谢这个家伙Kraenx顺便说一句)。我声明了accordion类型的变量,然后创建了BasicContainerNode和BasicLeafNode的新实例。一切都进行得很好,我可以作为BasicContainerNode的子节点添加BasicLeafNode,并为两者设置标签。 当我试图使用addNode(ITreeNode node)方法

我正在尝试向扩展库Accordion控件动态添加节点。整个想法是构建一个菜单,其中的选项来自一个视图(视图条目)。我从一个非常基本的逻辑开始,我从中得到(感谢这个家伙Kraenx顺便说一句)。我声明了accordion类型的变量,然后创建了BasicContainerNode和BasicLeafNode的新实例。一切都进行得很好,我可以作为BasicContainerNode的子节点添加BasicLeafNode,并为两者设置标签。 当我试图使用addNode(ITreeNode node)方法将新创建的节点(及其子节点)添加到我的accordion控件时,问题就出现了。 页面崩溃,出现错误500(HTTP Web服务器:命令未处理异常)

你知道为什么addNode(ITreeNode)方法不起作用吗??我做错了什么

以下是我的afterPageLoad中的SSJS代码:

   try{

    var newContainer:com.ibm.xsp.extlib.tree.impl.BasicContainerTreeNode = new com.ibm.xsp.extlib.tree.impl.BasicContainerTreeNode();
    newContainer.setLabel("Dynamic Container Node");
    var newNode:com.ibm.xsp.extlib.tree.impl.BasicLeafTreeNode = new com.ibm.xsp.extlib.tree.impl.BasicLeafTreeNode();
    newNode.setHref("http://www.google.com");
    newNode.setLabel("Dynamic Basic Node");
    newContainer.addChild(newNode);
    var acc = getComponent("accordion1");
    acc.addNode(newContainer);
}catch(e){
    print(e.toString);
}
提前感谢您的帮助

:)

您的代码运行良好


在您的XPage上查找其他问题。激活“显示XPage运行时错误页面”或查看服务器上的日志文件以找出错误的原因。

嗨,克努特,感谢您的回复并给我这样的提示,很抱歉,我忘了提及我正在本地运行应用程序并使用web预览。但是,我能够激活“显示XPage运行时错误页面”,并查看IBM技术支持文件夹中的日志文件。这就是我得到的:页面名称:/testmenu.xsp java.lang.ClassCastException:com.ibm.xsp.extlib.tree.impl.BasicContainerTreeNode与javax.faces.component.StateHolder不兼容