将树节点添加到Xpages扩展库Accordion控件
问题描述:
我试图将节点动态添加到扩展库Accordion控件。整个想法是建立一个菜单,其选项是从视图中提取的(查看条目)。我从here得到的一个非常基本的逻辑开始(感谢这个家伙Kraeven X BTW)。我声明了一个类型为accordion的变量,然后创建了一个BasicContainerNode和BasicLeafNode的新实例。一切正常,我能够将BasicLeafNode添加为BasicContainerNode的子节点,并为两者设置标签。 当我尝试使用addNode(ITreeNode节点)方法将新创建的节点(及其子节点)添加到我的手风琴控件时,问题就开始了。 页面崩溃,出现错误500(HTTP Web服务器:命令未处理异常)。将树节点添加到Xpages扩展库Accordion控件
任何想法为什么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运行时错误页面”或查看服务器上的日志文件以找出导致错误的原因。
嗨克努特,谢谢你回复并给我这样的提示,对不起,我忘了提及我在本地运行应用程序并使用网络预览。但是,我可以激活“显示XPage运行时错误页面”,并查看我的IBM技术支持文件夹中的日志文件。这是我得到的: **页面名称:/testmenu.xsp java.lang.ClassCastException:com.ibm.xsp.extlib.tree.impl.BasicContainerTreeNode与javax.faces.component.StateHolder **不兼容 –